/*!
 * =====================================================
 * Mui v3.4.1 (http://dev.dcloud.net.cn/mui)
 * =====================================================
 */
var mui = function(a, b) {
    var c = /complete|loaded|interactive/,
    d = /^#([\w-]+)$/,
    e = /^\.([\w-]+)$/,
    f = /^[\w-]+$/,
    g = /translate(?:3d)?\((.+?)\)/,
    h = /matrix(3d)?\((.+?)\)/,
    i = function(b, c) {
        if (c = c || a, !b) return j();
        if ("object" == typeof b) return i.isArrayLike(b) ? j(i.slice.call(b), null) : j([b], null);
        if ("function" == typeof b) return i.ready(b);
        if ("string" == typeof b) try {
            if (b = b.trim(), d.test(b)) {
                var e = a.getElementById(RegExp.$1);
                return j(e ? [e] : [])
            }
            return j(i.qsa(b, c), b)
        } catch(f) {}
        return j()
    },
    j = function(a, b) {
        return a = a || [],
        Object.setPrototypeOf(a, i.fn),
        a.selector = b || "",
        a
    };
    i.uuid = 0,
    i.data = {},
    i.extend = function() {
        var a, c, d, e, f, g, h = arguments[0] || {},
        j = 1,
        k = arguments.length,
        l = !1;
        for ("boolean" == typeof h && (l = h, h = arguments[j] || {},
        j++), "object" == typeof h || i.isFunction(h) || (h = {}), j === k && (h = this, j--); k > j; j++) if (null != (a = arguments[j])) for (c in a) d = h[c],
        e = a[c],
        h !== e && (l && e && (i.isPlainObject(e) || (f = i.isArray(e))) ? (f ? (f = !1, g = d && i.isArray(d) ? d: []) : g = d && i.isPlainObject(d) ? d: {},
        h[c] = i.extend(l, g, e)) : e !== b && (h[c] = e));
        return h
    },
    i.noop = function() {},
    i.slice = [].slice,
    i.filter = [].filter,
    i.type = function(a) {
        return null == a ? String(a) : k[{}.toString.call(a)] || "object"
    },
    i.isArray = Array.isArray ||
    function(a) {
        return a instanceof Array
    },
    i.isArrayLike = function(a) {
        var b = !!a && "length" in a && a.length,
        c = i.type(a);
        return "function" === c || i.isWindow(a) ? !1 : "array" === c || 0 === b || "number" == typeof b && b > 0 && b - 1 in a
    },
    i.isWindow = function(a) {
        return null != a && a === a.window
    },
    i.isObject = function(a) {
        return "object" === i.type(a)
    },
    i.isPlainObject = function(a) {
        return i.isObject(a) && !i.isWindow(a) && Object.getPrototypeOf(a) === Object.prototype
    },
    i.isEmptyObject = function(a) {
        for (var c in a) if (c !== b) return ! 1;
        return ! 0
    },
    i.isFunction = function(a) {
        return "function" === i.type(a)
    },
    i.qsa = function(b, c) {
        return c = c || a,
        i.slice.call(e.test(b) ? c.getElementsByClassName(RegExp.$1) : f.test(b) ? c.getElementsByTagName(b) : c.querySelectorAll(b))
    },
    i.ready = function(b) {
        return c.test(a.readyState) ? b(i) : a.addEventListener("DOMContentLoaded",
        function() {
            b(i)
        },
        !1),
        this
    },
    i.buffer = function(a, b, c) {
        function d() {
            e && (e.cancel(), e = 0),
            f = i.now(),
            a.apply(c || this, arguments),
            g = i.now()
        }
        var e, f = 0,
        g = 0,
        b = b || 150;
        return i.extend(function() { ! f || g >= f && i.now() - g > b || f > g && i.now() - f > 8 * b ? d() : (e && e.cancel(), e = i.later(d, b, null, arguments))
        },
        {
            stop: function() {
                e && (e.cancel(), e = 0)
            }
        })
    },
    i.each = function(a, b, c) {
        if (!a) return this;
        if ("number" == typeof a.length)[].every.call(a,
        function(a, c) {
            return b.call(a, c, a) !== !1
        });
        else for (var d in a) if (c) {
            if (a.hasOwnProperty(d) && b.call(a[d], d, a[d]) === !1) return a
        } else if (b.call(a[d], d, a[d]) === !1) return a;
        return this
    },
    i.focus = function(a) {
        i.os.ios ? setTimeout(function() {
            a.focus()
        },
        10) : a.focus()
    },
    i.trigger = function(a, b, c) {
        return a.dispatchEvent(new CustomEvent(b, {
            detail: c,
            bubbles: !0,
            cancelable: !0
        })),
        this
    },
    i.getStyles = function(a, b) {
        var c = a.ownerDocument.defaultView.getComputedStyle(a, null);
        return b ? c.getPropertyValue(b) || c[b] : c
    },
    i.parseTranslate = function(a, b) {
        var c = a.match(g || "");
        return c && c[1] || (c = ["", "0,0,0"]),
        c = c[1].split(","),
        c = {
            x: parseFloat(c[0]),
            y: parseFloat(c[1]),
            z: parseFloat(c[2])
        },
        b && c.hasOwnProperty(b) ? c[b] : c
    },
    i.parseTranslateMatrix = function(a, b) {
        var c = a.match(h),
        d = c && c[1];
        c ? (c = c[2].split(","), "3d" === d ? c = c.slice(12, 15) : (c.push(0), c = c.slice(4, 7))) : c = [0, 0, 0];
        var e = {
            x: parseFloat(c[0]),
            y: parseFloat(c[1]),
            z: parseFloat(c[2])
        };
        return b && e.hasOwnProperty(b) ? e[b] : e
    },
    i.hooks = {},
    i.addAction = function(a, b) {
        var c = i.hooks[a];
        return c || (c = []),
        b.index = b.index || 1e3,
        c.push(b),
        c.sort(function(a, b) {
            return a.index - b.index
        }),
        i.hooks[a] = c,
        i.hooks[a]
    },
    i.doAction = function(a, b) {
        i.isFunction(b) ? i.each(i.hooks[a], b) : i.each(i.hooks[a],
        function(a, b) {
            return ! b.handle()
        })
    },
    i.later = function(a, b, c, d) {
        b = b || 0;
        var e, f, g = a,
        h = d;
        return "string" == typeof a && (g = c[a]),
        e = function() {
            g.apply(c, i.isArray(h) ? h: [h])
        },
        f = setTimeout(e, b),
        {
            id: f,
            cancel: function() {
                clearTimeout(f)
            }
        }
    },
    i.now = Date.now ||
    function() {
        return + new Date
    };
    var k = {};
    return i.each(["Boolean", "Number", "String", "Function", "Array", "Date", "RegExp", "Object", "Error"],
    function(a, b) {
        k["[object " + b + "]"] = b.toLowerCase()
    }),
    window.JSON && (i.parseJSON = JSON.parse),
    i.fn = {
        each: function(a) {
            return [].every.call(this,
            function(b, c) {
                return a.call(b, c, b) !== !1
            }),
            this
        }
    },
    "function" == typeof define && define.amd && define("mui", [],
    function() {
        return i
    }),
    i
} (document); !
function(a, b) {
    function c(c) {
        this.os = {};
        var d = [function() {
            var a = c.match(/(MicroMessenger)\/([\d\.]+)/i);
            return a && (this.os.wechat = {
                version: a[2].replace(/_/g, ".")
            }),
            !1
        },
        function() {
            var a = c.match(/(Android);?[\s\/]+([\d.]+)?/);
            return a && (this.os.android = !0, this.os.version = a[2], this.os.isBadAndroid = !/Chrome\/\d/.test(b.navigator.appVersion)),
            this.os.android === !0
        },
        function() {
            var a = c.match(/(iPhone\sOS)\s([\d_]+)/);
            if (a) this.os.ios = this.os.iphone = !0,
            this.os.version = a[2].replace(/_/g, ".");
            else {
                var b = c.match(/(iPad).*OS\s([\d_]+)/);
                b && (this.os.ios = this.os.ipad = !0, this.os.version = b[2].replace(/_/g, "."))
            }
            return this.os.ios === !0
        }]; [].every.call(d,
        function(b) {
            return ! b.call(a)
        })
    }
    c.call(a, navigator.userAgent)
} (mui, window),
function(a, b) {
    function c(c) {
        this.os = this.os || {};
        var d = c.match(/Html5Plus/i);
        d && (this.os.plus = !0, a(function() {
            b.body.classList.add("mui-plus")
        }), c.match(/StreamApp/i) && (this.os.stream = !0, a(function() {
            b.body.classList.add("mui-plus-stream")
        })))
    }
    c.call(a, navigator.userAgent)
} (mui, document),
function(a) {
    "ontouchstart" in window ? (a.isTouchable = !0, a.EVENT_START = "touchstart", a.EVENT_MOVE = "touchmove", a.EVENT_END = "touchend") : (a.isTouchable = !1, a.EVENT_START = "mousedown", a.EVENT_MOVE = "mousemove", a.EVENT_END = "mouseup"),
    a.EVENT_CANCEL = "touchcancel",
    a.EVENT_CLICK = "click";
    var b = 1,
    c = {},
    d = {
        preventDefault: "isDefaultPrevented",
        stopImmediatePropagation: "isImmediatePropagationStopped",
        stopPropagation: "isPropagationStopped"
    },
    e = function() {
        return ! 0
    },
    f = function() {
        return ! 1
    },
    g = function(b, c) {
        return b.detail ? b.detail.currentTarget = c: b.detail = {
            currentTarget: c
        },
        a.each(d,
        function(a, c) {
            var d = b[a];
            b[a] = function() {
                return this[c] = e,
                d && d.apply(b, arguments)
            },
            b[c] = f
        },
        !0),
        b
    },
    h = function(a) {
        return a && (a._mid || (a._mid = b++))
    },
    i = {},
    j = function(b, d, e, f) {
        return function(e) {
            for (var f = c[b._mid][d], h = [], i = e.target, j = {}; i && i !== document && i !== b && (!~ ["click", "tap", "doubletap", "longtap", "hold"].indexOf(d) || !i.disabled && !i.classList.contains("mui-disabled")); i = i.parentNode) {
                var k = {};
                a.each(f,
                function(c, d) {
                    j[c] || (j[c] = a.qsa(c, b)),
                    j[c] && ~j[c].indexOf(i) && (k[c] || (k[c] = d))
                },
                !0),
                a.isEmptyObject(k) || h.push({
                    element: i,
                    handlers: k
                })
            }
            j = null,
            e = g(e),
            a.each(h,
            function(b, c) {
                i = c.element;
                var f = i.tagName;
                return "tap" === d && "INPUT" !== f && "TEXTAREA" !== f && "SELECT" !== f && (e.preventDefault(), e.detail && e.detail.gesture && e.detail.gesture.preventDefault()),
                a.each(c.handlers,
                function(b, c) {
                    a.each(c,
                    function(a, b) {
                        b.call(i, e) === !1 && (e.preventDefault(), e.stopPropagation())
                    },
                    !0)
                },
                !0),
                e.isPropagationStopped() ? !1 : void 0
            },
            !0)
        }
    },
    k = function(a, b) {
        var c = i[h(a)],
        d = [];
        if (c) {
            if (d = [], b) {
                var e = function(a) {
                    return a.type === b
                };
                return c.filter(e)
            }
            d = c
        }
        return d
    },
    l = /^(INPUT|TEXTAREA|BUTTON|SELECT)$/;
    a.fn.on = function(b, d, e) {
        return this.each(function() {
            var f = this;
            h(f),
            h(e);
            var g = !1,
            k = c[f._mid] || (c[f._mid] = {}),
            m = k[b] || (k[b] = {});
            a.isEmptyObject(m) && (g = !0);
            var n = m[d] || (m[d] = []);
            if (n.push(e), g) {
                var o = i[h(f)];
                o || (o = []);
                var p = j(f, b, d, e);
                o.push(p),
                p.i = o.length - 1,
                p.type = b,
                i[h(f)] = o,
                f.addEventListener(b, p),
                "tap" === b && f.addEventListener("click",
                function(a) {
                    if (a.target) {
                        var b = a.target.tagName;
                        if (!l.test(b)) if ("A" === b) {
                            var c = a.target.href;
                            c && ~c.indexOf("tel:") || a.preventDefault()
                        } else a.preventDefault()
                    }
                })
            }
        })
    },
    a.fn.off = function(b, d, e) {
        return this.each(function() {
            var f = h(this);
            if (b) if (d) if (e) {
                var g = c[f] && c[f][b] && c[f][b][d];
                a.each(g,
                function(a, b) {
                    return h(b) === h(e) ? (g.splice(a, 1), !1) : void 0
                },
                !0)
            } else c[f] && c[f][b] && delete c[f][b][d];
            else c[f] && delete c[f][b];
            else c[f] && delete c[f];
            c[f] ? (!c[f][b] || a.isEmptyObject(c[f][b])) && k(this, b).forEach(function(a) {
                this.removeEventListener(a.type, a),
                delete i[f][a.i]
            }.bind(this)) : k(this).forEach(function(a) {
                this.removeEventListener(a.type, a),
                delete i[f][a.i]
            }.bind(this))
        })
    }
} (mui),
function(a, b, c) {
    a.targets = {},
    a.targetHandles = [],
    a.registerTarget = function(b) {
        return b.index = b.index || 1e3,
        a.targetHandles.push(b),
        a.targetHandles.sort(function(a, b) {
            return a.index - b.index
        }),
        a.targetHandles
    },
    b.addEventListener(a.EVENT_START,
    function(b) {
        for (var d = b.target,
        e = {}; d && d !== c; d = d.parentNode) {
            var f = !1;
            if (a.each(a.targetHandles,
            function(c, g) {
                var h = g.name;
                f || e[h] || !g.hasOwnProperty("handle") ? e[h] || g.isReset !== !1 && (a.targets[h] = !1) : (a.targets[h] = g.handle(b, d), a.targets[h] && (e[h] = !0, g.isContinue !== !0 && (f = !0)))
            }), f) break
        }
    }),
    b.addEventListener("click",
    function(b) {
        for (var d = b.target,
        e = !1; d && d !== c && ("A" !== d.tagName || (a.each(a.targetHandles,
        function(a, c) {
            c.name;
            return c.hasOwnProperty("handle") && c.handle(b, d) ? (e = !0, b.preventDefault(), !1) : void 0
        }), !e)); d = d.parentNode);
    })
} (mui, window, document),
function(a) {
    String.prototype.trim === a && (String.prototype.trim = function() {
        return this.replace(/^\s+|\s+$/g, "")
    }),
    Object.setPrototypeOf = Object.setPrototypeOf ||
    function(a, b) {
        return a.__proto__ = b,
        a
    }
} (),
function() {
    function a(a, b) {
        b = b || {
            bubbles: !1,
            cancelable: !1,
            detail: void 0
        };
        var c = document.createEvent("Events"),
        d = !0;
        for (var e in b)"bubbles" === e ? d = !!b[e] : c[e] = b[e];
        return c.initEvent(a, d, !0),
        c
    }
    "undefined" == typeof window.CustomEvent && (a.prototype = window.Event.prototype, window.CustomEvent = a)
} (),
Function.prototype.bind = Function.prototype.bind ||
function(a) {
    var b = Array.prototype.splice.call(arguments, 1),
    c = this,
    d = function() {
        var e = b.concat(Array.prototype.splice.call(arguments, 0));
        return this instanceof d ? void c.apply(this, e) : c.apply(a, e)
    };
    return d.prototype = c.prototype,
    d
},
function(a) {
    "classList" in a.documentElement || !Object.defineProperty || "undefined" == typeof HTMLElement || Object.defineProperty(HTMLElement.prototype, "classList", {
        get: function() {
            function a(a) {
                return function(c) {
                    var d = b.className.split(/\s+/),
                    e = d.indexOf(c);
                    a(d, e, c),
                    b.className = d.join(" ")
                }
            }
            var b = this,
            c = {
                add: a(function(a, b, c) {~b || a.push(c)
                }),
                remove: a(function(a, b) {~b && a.splice(b, 1)
                }),
                toggle: a(function(a, b, c) {~b ? a.splice(b, 1) : a.push(c)
                }),
                contains: function(a) {
                    return !! ~b.className.split(/\s+/).indexOf(a)
                },
                item: function(a) {
                    return b.className.split(/\s+/)[a] || null
                }
            };
            return Object.defineProperty(c, "length", {
                get: function() {
                    return b.className.split(/\s+/).length
                }
            }),
            c
        }
    })
} (document),
function(a) {
    if (!a.requestAnimationFrame) {
        var b = 0;
        a.requestAnimationFrame = a.webkitRequestAnimationFrame ||
        function(c, d) {
            var e = (new Date).getTime(),
            f = Math.max(0, 16.7 - (e - b)),
            g = a.setTimeout(function() {
                c(e + f)
            },
            f);
            return b = e + f,
            g
        },
        a.cancelAnimationFrame = a.webkitCancelAnimationFrame || a.webkitCancelRequestAnimationFrame ||
        function(a) {
            clearTimeout(a)
        }
    }
} (window),
function(a, b, c) {
    if ((a.os.android || a.os.ios) && !b.FastClick) {
        var d = function(a, b) {
            return "LABEL" === b.tagName && b.parentNode && (b = b.parentNode.querySelector("input")),
            !b || "radio" !== b.type && "checkbox" !== b.type || b.disabled ? !1 : b
        };
        a.registerTarget({
            name: c,
            index: 40,
            handle: d,
            target: !1
        });
        var e = function(c) {
            var d = a.targets.click;
            if (d) {
                var e, f;
                document.activeElement && document.activeElement !== d && document.activeElement.blur(),
                f = c.detail.gesture.changedTouches[0],
                e = document.createEvent("MouseEvents"),
                e.initMouseEvent("click", !0, !0, b, 1, f.screenX, f.screenY, f.clientX, f.clientY, !1, !1, !1, !1, 0, null),
                e.forwardedTouchEvent = !0,
                d.dispatchEvent(e),
                c.detail && c.detail.gesture.preventDefault()
            }
        };
        b.addEventListener("tap", e),
        b.addEventListener("doubletap", e),
        b.addEventListener("click",
        function(b) {
            return a.targets.click && !b.forwardedTouchEvent ? (b.stopImmediatePropagation ? b.stopImmediatePropagation() : b.propagationStopped = !0, b.stopPropagation(), b.preventDefault(), !1) : void 0
        },
        !0)
    }
} (mui, window, "click"),
function(a, b) {
    a(function() {
        if (a.os.ios) {
            var c = "mui-focusin",
            d = "mui-bar-tab",
            e = "mui-bar-footer",
            f = "mui-bar-footer-secondary",
            g = "mui-bar-footer-secondary-tab";
            b.addEventListener("focusin",
            function(h) {
                if (! (a.os.plus && window.plus && plus.webview.currentWebview().children().length > 0)) {
                    var i = h.target;
                    if (i.tagName && ("TEXTAREA" === i.tagName || "INPUT" === i.tagName && ("text" === i.type || "search" === i.type || "number" === i.type))) {
                        if (i.disabled || i.readOnly) return;
                        b.body.classList.add(c);
                        for (var j = !1; i && i !== b; i = i.parentNode) {
                            var k = i.classList;
                            if (k && k.contains(d) || k.contains(e) || k.contains(f) || k.contains(g)) {
                                j = !0;
                                break
                            }
                        }
                        if (j) {
                            var l = b.body.scrollHeight,
                            m = b.body.scrollLeft;
                            setTimeout(function() {
                                window.scrollTo(m, l)
                            },
                            20)
                        }
                    }
                }
            }),
            b.addEventListener("focusout",
            function(a) {
                var d = b.body.classList;
                d.contains(c) && (d.remove(c), setTimeout(function() {
                    window.scrollTo(b.body.scrollLeft, b.body.scrollTop)
                },
                20))
            })
        }
    })
} (mui, document),
function(a) {
    a.namespace = "mui",
    a.classNamePrefix = a.namespace + "-",
    a.classSelectorPrefix = "." + a.classNamePrefix,
    a.className = function(b) {
        return a.classNamePrefix + b
    },
    a.classSelector = function(b) {
        return b.replace(/\./g, a.classSelectorPrefix)
    },
    a.eventName = function(b, c) {
        return b + (a.namespace ? "." + a.namespace: "") + (c ? "." + c: "")
    }
} (mui),
function(a, b) {
    a.gestures = {
        session: {}
    },
    a.preventDefault = function(a) {
        a.preventDefault()
    },
    a.stopPropagation = function(a) {
        a.stopPropagation()
    },
    a.addGesture = function(b) {
        return a.addAction("gestures", b)
    };
    var c = Math.round,
    d = Math.abs,
    e = Math.sqrt,
    f = (Math.atan, Math.atan2),
    g = function(a, b, c) {
        c || (c = ["x", "y"]);
        var d = b[c[0]] - a[c[0]],
        f = b[c[1]] - a[c[1]];
        return e(d * d + f * f)
    },
    h = function(a, b) {
        if (a.length >= 2 && b.length >= 2) {
            var c = ["pageX", "pageY"];
            return g(b[1], b[0], c) / g(a[1], a[0], c)
        }
        return 1
    },
    i = function(a, b, c) {
        c || (c = ["x", "y"]);
        var d = b[c[0]] - a[c[0]],
        e = b[c[1]] - a[c[1]];
        return 180 * f(e, d) / Math.PI
    },
    j = function(a, b) {
        return a === b ? "": d(a) >= d(b) ? a > 0 ? "left": "right": b > 0 ? "up": "down"
    },
    k = function(a, b) {
        var c = ["pageX", "pageY"];
        return i(b[1], b[0], c) - i(a[1], a[0], c)
    },
    l = function(a, b, c) {
        return {
            x: b / a || 0,
            y: c / a || 0
        }
    },
    m = function(b, c) {
        a.gestures.stoped || a.doAction("gestures",
        function(d, e) {
            a.gestures.stoped || a.options.gestureConfig[e.name] !== !1 && e.handle(b, c)
        })
    },
    n = function(a, b) {
        for (; a;) {
            if (a == b) return ! 0;
            a = a.parentNode
        }
        return ! 1
    },
    o = function(a, b, c) {
        for (var d = [], e = [], f = 0; f < a.length;) {
            var g = b ? a[f][b] : a[f];
            e.indexOf(g) < 0 && d.push(a[f]),
            e[f] = g,
            f++
        }
        return c && (d = b ? d.sort(function(a, c) {
            return a[b] > c[b]
        }) : d.sort()),
        d
    },
    p = function(a) {
        var b = a.length;
        if (1 === b) return {
            x: c(a[0].pageX),
            y: c(a[0].pageY)
        };
        for (var d = 0,
        e = 0,
        f = 0; b > f;) d += a[f].pageX,
        e += a[f].pageY,
        f++;
        return {
            x: c(d / b),
            y: c(e / b)
        }
    },
    q = function() {
        return a.options.gestureConfig.pinch
    },
    r = function(b) {
        for (var d = [], e = 0; e < b.touches.length;) d[e] = {
            pageX: c(b.touches[e].pageX),
            pageY: c(b.touches[e].pageY)
        },
        e++;
        return {
            timestamp: a.now(),
            gesture: b.gesture,
            touches: d,
            center: p(b.touches),
            deltaX: b.deltaX,
            deltaY: b.deltaY
        }
    },
    s = function(b) {
        var c = a.gestures.session,
        d = b.center,
        e = c.offsetDelta || {},
        f = c.prevDelta || {},
        g = c.prevTouch || {}; (b.gesture.type === a.EVENT_START || b.gesture.type === a.EVENT_END) && (f = c.prevDelta = {
            x: g.deltaX || 0,
            y: g.deltaY || 0
        },
        e = c.offsetDelta = {
            x: d.x,
            y: d.y
        }),
        b.deltaX = f.x + (d.x - e.x),
        b.deltaY = f.y + (d.y - e.y)
    },
    t = function(b) {
        var c = a.gestures.session,
        d = b.touches,
        e = d.length;
        c.firstTouch || (c.firstTouch = r(b)),
        q() && e > 1 && !c.firstMultiTouch ? c.firstMultiTouch = r(b) : 1 === e && (c.firstMultiTouch = !1);
        var f = c.firstTouch,
        l = c.firstMultiTouch,
        m = l ? l.center: f.center,
        n = b.center = p(d);
        b.timestamp = a.now(),
        b.deltaTime = b.timestamp - f.timestamp,
        b.angle = i(m, n),
        b.distance = g(m, n),
        s(b),
        b.offsetDirection = j(b.deltaX, b.deltaY),
        b.scale = l ? h(l.touches, d) : 1,
        b.rotation = l ? k(l.touches, d) : 0,
        v(b)
    },
    u = 25,
    v = function(b) {
        var c, e, f, g, h = a.gestures.session,
        i = h.lastInterval || b,
        k = b.timestamp - i.timestamp;
        if (b.gesture.type != a.EVENT_CANCEL && (k > u || void 0 === i.velocity)) {
            var m = i.deltaX - b.deltaX,
            n = i.deltaY - b.deltaY,
            o = l(k, m, n);
            e = o.x,
            f = o.y,
            c = d(o.x) > d(o.y) ? o.x: o.y,
            g = j(m, n) || i.direction,
            h.lastInterval = b
        } else c = i.velocity,
        e = i.velocityX,
        f = i.velocityY,
        g = i.direction;
        b.velocity = c,
        b.velocityX = e,
        b.velocityY = f,
        b.direction = g
    },
    w = {},
    x = function(a) {
        for (var b = 0; b < a.length; b++) ! a.identifier && (a.identifier = 0);
        return a
    },
    y = function(b, c) {
        var d = x(a.slice.call(b.touches || [b])),
        e = b.type,
        f = [],
        g = [];
        if (e !== a.EVENT_START && e !== a.EVENT_MOVE || 1 !== d.length) {
            var h = 0,
            f = [],
            g = [],
            i = x(a.slice.call(b.changedTouches || [b]));
            c.target = b.target;
            var j = a.gestures.session.target || b.target;
            if (f = d.filter(function(a) {
                return n(a.target, j)
            }), e === a.EVENT_START) for (h = 0; h < f.length;) w[f[h].identifier] = !0,
            h++;
            for (h = 0; h < i.length;) w[i[h].identifier] && g.push(i[h]),
            (e === a.EVENT_END || e === a.EVENT_CANCEL) && delete w[i[h].identifier],
            h++;
            if (!g.length) return ! 1
        } else w[d[0].identifier] = !0,
        f = d,
        g = d,
        c.target = b.target;
        f = o(f.concat(g), "identifier", !0);
        var k = f.length,
        l = g.length;
        return e === a.EVENT_START && k - l === 0 && (c.isFirst = !0, a.gestures.touch = a.gestures.session = {
            target: b.target
        }),
        c.isFinal = (e === a.EVENT_END || e === a.EVENT_CANCEL) && k - l === 0,
        c.touches = f,
        c.changedTouches = g,
        !0
    },
    z = function(b) {
        var c = {
            gesture: b
        },
        d = y(b, c);
        d && (t(c), m(b, c), a.gestures.session.prevTouch = c, b.type !== a.EVENT_END || a.isTouchable || (a.gestures.touch = a.gestures.session = {}))
    };
    b.addEventListener(a.EVENT_START, z),
    b.addEventListener(a.EVENT_MOVE, z),
    b.addEventListener(a.EVENT_END, z),
    b.addEventListener(a.EVENT_CANCEL, z),
    b.addEventListener(a.EVENT_CLICK,
    function(b) { (a.os.android || a.os.ios) && (a.targets.popover && b.target === a.targets.popover || a.targets.tab || a.targets.offcanvas || a.targets.modal) && b.preventDefault()
    },
    !0),
    a.isScrolling = !1;
    var A = null;
    b.addEventListener("scroll",
    function() {
        a.isScrolling = !0,
        A && clearTimeout(A),
        A = setTimeout(function() {
            a.isScrolling = !1
        },
        250)
    })
} (mui, window),
function(a, b) {
    var c = 0,
    d = function(d, e) {
        var f = a.gestures.session,
        g = this.options,
        h = a.now();
        switch (d.type) {
        case a.EVENT_MOVE:
            h - c > 300 && (c = h, f.flickStart = e.center);
            break;
        case a.EVENT_END:
        case a.EVENT_CANCEL:
            e.flick = !1,
            f.flickStart && g.flickMaxTime > h - c && e.distance > g.flickMinDistince && (e.flick = !0, e.flickTime = h - c, e.flickDistanceX = e.center.x - f.flickStart.x, e.flickDistanceY = e.center.y - f.flickStart.y, a.trigger(f.target, b, e), a.trigger(f.target, b + e.direction, e))
        }
    };
    a.addGesture({
        name: b,
        index: 5,
        handle: d,
        options: {
            flickMaxTime: 200,
            flickMinDistince: 10
        }
    })
} (mui, "flick"),
function(a, b) {
    var c = function(c, d) {
        var e = a.gestures.session;
        if (c.type === a.EVENT_END || c.type === a.EVENT_CANCEL) {
            var f = this.options;
            d.swipe = !1,
            d.direction && f.swipeMaxTime > d.deltaTime && d.distance > f.swipeMinDistince && (d.swipe = !0, a.trigger(e.target, b, d), a.trigger(e.target, b + d.direction, d))
        }
    };
    a.addGesture({
        name: b,
        index: 10,
        handle: c,
        options: {
            swipeMaxTime: 300,
            swipeMinDistince: 18
        }
    })
} (mui, "swipe"),
function(a, b) {
    var c = function(c, d) {
        var e = a.gestures.session;
        switch (c.type) {
        case a.EVENT_START:
            break;
        case a.EVENT_MOVE:
            if (!d.direction || !e.target) return;
            e.lockDirection && e.startDirection && e.startDirection && e.startDirection !== d.direction && ("up" === e.startDirection || "down" === e.startDirection ? d.direction = d.deltaY < 0 ? "up": "down": d.direction = d.deltaX < 0 ? "left": "right"),
            e.drag || (e.drag = !0, a.trigger(e.target, b + "start", d)),
            a.trigger(e.target, b, d),
            a.trigger(e.target, b + d.direction, d);
            break;
        case a.EVENT_END:
        case a.EVENT_CANCEL:
            e.drag && d.isFinal && a.trigger(e.target, b + "end", d)
        }
    };
    a.addGesture({
        name: b,
        index: 20,
        handle: c,
        options: {
            fingers: 1
        }
    })
} (mui, "drag"),
function(a, b) {
    var c, d, e = function(e, f) {
        var g = a.gestures.session,
        h = this.options;
        switch (e.type) {
        case a.EVENT_END:
            if (!f.isFinal) return;
            var i = g.target;
            if (!i || i.disabled || i.classList && i.classList.contains("mui-disabled")) return;
            if (f.distance < h.tapMaxDistance && f.deltaTime < h.tapMaxTime) {
                if (a.options.gestureConfig.doubletap && c && c === i && d && f.timestamp - d < h.tapMaxInterval) return a.trigger(i, "doubletap", f),
                d = a.now(),
                void(c = i);
                a.trigger(i, b, f),
                d = a.now(),
                c = i
            }
        }
    };
    a.addGesture({
        name: b,
        index: 30,
        handle: e,
        options: {
            fingers: 1,
            tapMaxInterval: 300,
            tapMaxDistance: 5,
            tapMaxTime: 250
        }
    })
} (mui, "tap"),
function(a, b) {
    var c, d = function(d, e) {
        var f = a.gestures.session,
        g = this.options;
        switch (d.type) {
        case a.EVENT_START:
            clearTimeout(c),
            c = setTimeout(function() {
                a.trigger(f.target, b, e)
            },
            g.holdTimeout);
            break;
        case a.EVENT_MOVE:
            e.distance > g.holdThreshold && clearTimeout(c);
            break;
        case a.EVENT_END:
        case a.EVENT_CANCEL:
            clearTimeout(c)
        }
    };
    a.addGesture({
        name:
        b,
        index: 10,
        handle: d,
        options: {
            fingers: 1,
            holdTimeout: 500,
            holdThreshold: 2
        }
    })
} (mui, "longtap"),
function(a, b) {
    var c, d = function(d, e) {
        var f = a.gestures.session,
        g = this.options;
        switch (d.type) {
        case a.EVENT_START:
            a.options.gestureConfig.hold && (c && clearTimeout(c), c = setTimeout(function() {
                e.hold = !0,
                a.trigger(f.target, b, e)
            },
            g.holdTimeout));
            break;
        case a.EVENT_MOVE:
            break;
        case a.EVENT_END:
        case a.EVENT_CANCEL:
            c && (clearTimeout(c) && (c = null), a.trigger(f.target, "release", e))
        }
    };
    a.addGesture({
        name: b,
        index: 10,
        handle: d,
        options: {
            fingers: 1,
            holdTimeout: 0
        }
    })
} (mui, "hold"),
function(a, b) {
    var c = function(c, d) {
        var e = this.options,
        f = a.gestures.session;
        switch (c.type) {
        case a.EVENT_START:
            break;
        case a.EVENT_MOVE:
            if (a.options.gestureConfig.pinch) {
                if (d.touches.length < 2) return;
                f.pinch || (f.pinch = !0, a.trigger(f.target, b + "start", d)),
                a.trigger(f.target, b, d);
                var g = d.scale,
                h = d.rotation,
                i = "undefined" == typeof d.lastScale ? 1 : d.lastScale,
                j = 1e-12;
                g > i ? (i = g - j, a.trigger(f.target, b + "out", d)) : i > g && (i = g + j, a.trigger(f.target, b + "in", d)),
                Math.abs(h) > e.minRotationAngle && a.trigger(f.target, "rotate", d)
            }
            break;
        case a.EVENT_END:
        case a.EVENT_CANCEL:
            a.options.gestureConfig.pinch && f.pinch && 2 === d.touches.length && (f.pinch = !1, a.trigger(f.target, b + "end", d))
        }
    };
    a.addGesture({
        name: b,
        index: 10,
        handle: c,
        options: {
            minRotationAngle: 0
        }
    })
} (mui, "pinch"),
function(a) {
    function b(a, b) {
        var c = "MUI_SCROLL_POSITION_" + document.location.href + "_" + b.src,
        d = parseFloat(localStorage.getItem(c)) || 0;
        d && !
        function(a) {
            b.onload = function() {
                window.scrollTo(0, a)
            }
        } (d),
        setInterval(function() {
            var a = window.scrollY;
            d !== a && (localStorage.setItem(c, a + ""), d = a)
        },
        100)
    }
    a.global = a.options = {
        gestureConfig: {
            tap: !0,
            doubletap: !1,
            longtap: !1,
            hold: !1,
            flick: !0,
            swipe: !0,
            drag: !0,
            pinch: !1
        }
    },
    a.initGlobal = function(b) {
        return a.options = a.extend(!0, a.global, b),
        this
    };
    var c = {},
    d = !1;
    a.init = function(b) {
        return d = !0,
        a.options = a.extend(!0, a.global, b || {}),
        a.ready(function() {
            a.doAction("inits",
            function(b, d) {
                var e = !(c[d.name] && !d.repeat);
                e && (d.handle.call(a), c[d.name] = !0)
            })
        }),
        this
    },
    a.addInit = function(b) {
        return a.addAction("inits", b)
    },
    a.addInit({
        name: "iframe",
        index: 100,
        handle: function() {
            var b = a.options,
            c = b.subpages || []; ! a.os.plus && c.length && e(c[0])
        }
    });
    var e = function(c) {
        var d = document.createElement("div");
        d.className = "mui-iframe-wrapper";
        var e = c.styles || {};
        "string" != typeof e.top && (e.top = "0px"),
        "string" != typeof e.bottom && (e.bottom = "0px"),
        d.style.top = e.top,
        d.style.bottom = e.bottom;
        var f = document.createElement("iframe");
        f.src = c.url,
        f.id = c.id || c.url,
        f.name = f.id,
        d.appendChild(f),
        document.body.appendChild(d),
        a.os.wechat && b(d, f)
    };
    a(function() {
        var b = document.body.classList,
        c = [];
        a.os.ios ? (c.push({
            os: "ios",
            version: a.os.version
        }), b.add("mui-ios")) : a.os.android && (c.push({
            os: "android",
            version: a.os.version
        }), b.add("mui-android")),
        a.os.wechat && (c.push({
            os: "wechat",
            version: a.os.wechat.version
        }), b.add("mui-wechat")),
        c.length && a.each(c,
        function(c, d) {
            var e = "";
            d.version && a.each(d.version.split("."),
            function(c, f) {
                e = e + (e ? "-": "") + f,
                b.add(a.className(d.os + "-" + e))
            })
        })
    })
} (mui),
function(a) {
    var b = {
        swipeBack: !1,
        preloadPages: [],
        preloadLimit: 10,
        keyEventBind: {
            backbutton: !0,
            menubutton: !0
        }
    },
    c = {
        autoShow: !0,
        duration: a.os.ios ? 200 : 100,
        aniShow: "slide-in-right"
    };
    a.options.show && (c = a.extend(!0, c, a.options.show)),
    a.currentWebview = null,
    a.isHomePage = !1,
    a.extend(!0, a.global, b),
    a.extend(!0, a.options, b),
    a.waitingOptions = function(b) {
        return a.extend(!0, {},
        {
            autoShow: !0,
            title: "",
            modal: !1
        },
        b)
    },
    a.showOptions = function(b) {
        return a.extend(!0, {},
        c, b)
    },
    a.windowOptions = function(b) {
        return a.extend({
            scalable: !1,
            bounce: ""
        },
        b)
    },
    a.plusReady = function(a) {
        return window.plus ? setTimeout(function() {
            a()
        },
        0) : document.addEventListener("plusready",
        function() {
            a()
        },
        !1),
        this
    },
    a.fire = function(b, c, d) {
        b && ("" !== d && (d = d || {},
        a.isPlainObject(d) && (d = JSON.stringify(d || {}).replace(/\'/g, "\\u0027").replace(/\\/g, "\\u005c"))), b.evalJS("typeof mui!=='undefined'&&mui.receive('" + c + "','" + d + "')"))
    },
    a.receive = function(b, c) {
        if (b) {
            try {
                c && (c = JSON.parse(c))
            } catch(d) {}
            a.trigger(document, b, c)
        }
    };
    var d = function(b) {
        if (!b.preloaded) {
            a.fire(b, "preload");
            for (var c = b.children(), d = 0; d < c.length; d++) a.fire(c[d], "preload");
            b.preloaded = !0
        }
    },
    e = function(b, c, d) {
        if (d) {
            if (!b[c + "ed"]) {
                a.fire(b, c);
                for (var e = b.children(), f = 0; f < e.length; f++) a.fire(e[f], c);
                b[c + "ed"] = !0
            }
        } else {
            a.fire(b, c);
            for (var e = b.children(), f = 0; f < e.length; f++) a.fire(e[f], c)
        }
    };
    a.openWindow = function(b, c, f) {
        if ("object" == typeof b ? (f = b, b = f.url, c = f.id || b) : "object" == typeof c ? (f = c, c = b) : c = c || b, !a.os.plus) return void(a.os.ios || a.os.android ? window.top.location.href = b: window.parent.location.href = b);
        if (window.plus) {
            f = f || {};
            var g, h, i = f.params || {},
            j = null,
            k = null;
            if (a.webviews[c] && (k = a.webviews[c], plus.webview.getWebviewById(c) && (j = k.webview)), k && j) return g = k.show,
            g = f.show ? a.extend(g, f.show) : g,
            j.show(g.aniShow, g.duration,
            function() {
                d(j),
                e(j, "pagebeforeshow", !1)
            }),
            k.afterShowMethodName && j.evalJS(k.afterShowMethodName + "('" + JSON.stringify(i) + "')"),
            j;
            if (f.createNew !== !0) {
                if (j = plus.webview.getWebviewById(c)) return g = a.showOptions(f.show),
                g.autoShow && j.show(g.aniShow, g.duration,
                function() {
                    d(j),
                    e(j, "pagebeforeshow", !1)
                }),
                j;
                if (!b) throw new Error("webview[" + c + "] does not exist")
            }
            var l = a.waitingOptions(f.waiting);
            if (l.autoShow && (h = plus.nativeUI.showWaiting(l.title, l.options)), f = a.extend(f, {
                id: c,
                url: b
            }), j = a.createWindow(f), g = a.showOptions(f.show), g.autoShow) {
                var m = function() {
                    h && h.close(),
                    j.show(g.aniShow, g.duration,
                    function() {}),
                    j.showed = !0,
                    f.afterShowMethodName && j.evalJS(f.afterShowMethodName + "('" + JSON.stringify(i) + "')")
                };
                b ? (j.addEventListener("titleUpdate", m, !1), j.addEventListener("loaded",
                function() {
                    d(j),
                    e(j, "pagebeforeshow", !1)
                },
                !1)) : m()
            }
            return j
        }
    },
    a.createWindow = function(b, c) {
        if (window.plus) {
            var d, e = b.id || b.url;
            if (b.preload) {
                a.webviews[e] && a.webviews[e].webview.getURL() ? d = a.webviews[e].webview: (b.createNew !== !0 && (d = plus.webview.getWebviewById(e)), d || (d = plus.webview.create(b.url, e, a.windowOptions(b.styles), a.extend({
                    preload: !0
                },
                b.extras)), b.subpages && a.each(b.subpages,
                function(b, c) {
                    var e = c.id || c.url;
                    if (e) {
                        var f = plus.webview.getWebviewById(e);
                        f || (f = plus.webview.create(c.url, e, a.windowOptions(c.styles), a.extend({
                            preload: !0
                        },
                        c.extras))),
                        d.append(f)
                    }
                }))),
                a.webviews[e] = {
                    webview: d,
                    preload: !0,
                    show: a.showOptions(b.show),
                    afterShowMethodName: b.afterShowMethodName
                };
                var f = a.data.preloads,
                g = f.indexOf(e);
                if (~g && f.splice(g, 1), f.push(e), f.length > a.options.preloadLimit) {
                    var h = a.data.preloads.shift(),
                    i = a.webviews[h];
                    i && i.webview && a.closeAll(i.webview),
                    delete a.webviews[h]
                }
            } else c !== !1 && (d = plus.webview.create(b.url, e, a.windowOptions(b.styles), b.extras), b.subpages && a.each(b.subpages,
            function(b, c) {
                var e = c.id || c.url,
                f = plus.webview.getWebviewById(e);
                f || (f = plus.webview.create(c.url, e, a.windowOptions(c.styles), c.extras)),
                d.append(f)
            }));
            return d
        }
    },
    a.preload = function(b) {
        return b.preload || (b.preload = !0),
        a.createWindow(b)
    },
    a.closeOpened = function(b) {
        var c = b.opened();
        if (c) for (var d = 0,
        e = c.length; e > d; d++) {
            var f = c[d],
            g = f.opened();
            g && g.length > 0 ? (a.closeOpened(f), f.close("none")) : f.parent() !== b && f.close("none")
        }
    },
    a.closeAll = function(b, c) {
        a.closeOpened(b),
        c ? b.close(c) : b.close()
    },
    a.createWindows = function(b) {
        a.each(b,
        function(b, c) {
            a.createWindow(c, !1)
        })
    },
    a.appendWebview = function(b) {
        if (window.plus) {
            var c, d = b.id || b.url;
            return a.webviews[d] || (plus.webview.getWebviewById(d) || (c = plus.webview.create(b.url, d, b.styles, b.extras)), plus.webview.currentWebview().append(c), a.webviews[d] = b),
            c
        }
    },
    a.webviews = {},
    a.data.preloads = [],
    a.plusReady(function() {
        a.currentWebview = plus.webview.currentWebview()
    }),
    a.addInit({
        name: "5+",
        index: 100,
        handle: function() {
            var b = a.options,
            c = b.subpages || [];
            a.os.plus && a.plusReady(function() {
                a.each(c,
                function(b, c) {
                    a.appendWebview(c)
                }),
                plus.webview.currentWebview() === plus.webview.getWebviewById(plus.runtime.appid) && (a.isHomePage = !0, setTimeout(function() {
                    d(plus.webview.currentWebview())
                },
                300)),
                a.os.ios && a.options.statusBarBackground && plus.navigator.setStatusBarBackground(a.options.statusBarBackground),
                a.os.android && parseFloat(a.os.version) < 4.4 && null == plus.webview.currentWebview().parent() && document.addEventListener("resume",
                function() {
                    var a = document.body;
                    a.style.display = "none",
                    setTimeout(function() {
                        a.style.display = ""
                    },
                    10)
                })
            })
        }
    }),
    window.addEventListener("preload",
    function() {
        var b = a.options.preloadPages || [];
        a.plusReady(function() {
            a.each(b,
            function(b, c) {
                a.createWindow(a.extend(c, {
                    preload: !0
                }))
            })
        })
    }),
    a.supportStatusbarOffset = function() {
        return a.os.plus && a.os.ios && parseFloat(a.os.version) >= 7
    },
    a.ready(function() {
        a.supportStatusbarOffset() && document.body.classList.add("mui-statusbar")
    })
} (mui),
function(a, b) {
    a.addBack = function(b) {
        return a.addAction("backs", b)
    },
    a.addBack({
        name: "browser",
        index: 100,
        handle: function() {
            return b.history.length > 1 ? (b.history.back(), !0) : !1
        }
    }),
    a.back = function() { ("function" != typeof a.options.beforeback || a.options.beforeback() !== !1) && a.doAction("backs")
    },
    b.addEventListener("tap",
    function(b) {
        var c = a.targets.action;
        c && c.classList.contains("mui-action-back") && (a.back(), a.targets.action = !1)
    }),
    b.addEventListener("swiperight",
    function(b) {
        var c = b.detail;
        a.options.swipeBack === !0 && Math.abs(c.angle) < 3 && a.back()
    })
} (mui, window),
function(a, b) {
    a.os.plus && a.os.android && a.addBack({
        name: "mui",
        index: 5,
        handle: function() {
            if (a.targets._popover && a.targets._popover.classList.contains("mui-active")) return a(a.targets._popover).popover("hide"),
            !0;
            var b = document.querySelector(".mui-off-canvas-wrap.mui-active");
            if (b) return a(b).offCanvas("close"),
            !0;
            var c = a.isFunction(a.getPreviewImage) && a.getPreviewImage();
            return c && c.isShown() ? (c.close(), !0) : a.closePopup()
        }
    }),
    a.__back__first = null,
    a.addBack({
        name: "5+",
        index: 10,
        handle: function() {
            if (!b.plus) return ! 1;
            var c = plus.webview.currentWebview(),
            d = c.parent();
            return d ? d.evalJS("mui&&mui.back();") : c.canBack(function(d) {
                d.canBack ? b.history.back() : c.id === plus.runtime.appid ? a.__back__first ? (new Date).getTime() - a.__back__first < 2e3 && plus.runtime.quit() : (a.__back__first = (new Date).getTime(), mui.toast("再按一次退出应用"), setTimeout(function() {
                    a.__back__first = null
                },
                2e3)) : c.preload ? c.hide("auto") : a.closeAll(c)
            }),
            !0
        }
    }),
    a.menu = function() {
        var c = document.querySelector(".mui-action-menu");
        if (c) a.trigger(c, a.EVENT_START),
        a.trigger(c, "tap");
        else if (b.plus) {
            var d = a.currentWebview,
            e = d.parent();
            e && e.evalJS("mui&&mui.menu();")
        }
    };
    var c = function() {
        a.back()
    },
    d = function() {
        a.menu()
    };
    a.plusReady(function() {
        a.options.keyEventBind.backbutton && plus.key.addEventListener("backbutton", c, !1),
        a.options.keyEventBind.menubutton && plus.key.addEventListener("menubutton", d, !1)
    }),
    a.addInit({
        name: "keyEventBind",
        index: 1e3,
        handle: function() {
            a.plusReady(function() {
                a.options.keyEventBind.backbutton || plus.key.removeEventListener("backbutton", c),
                a.options.keyEventBind.menubutton || plus.key.removeEventListener("menubutton", d)
            })
        }
    })
} (mui, window),
function(a) {
    a.addInit({
        name: "pullrefresh",
        index: 1e3,
        handle: function() {
            var b = a.options,
            c = b.pullRefresh || {},
            d = c.down && c.down.hasOwnProperty("callback"),
            e = c.up && c.up.hasOwnProperty("callback");
            if (d || e) {
                var f = c.container;
                if (f) {
                    var g = a(f);
                    1 === g.length && (a.os.plus && a.os.android ? a.plusReady(function() {
                        var b = plus.webview.currentWebview();
                        if (e) {
                            var f = {};
                            f.up = c.up,
                            f.webviewId = b.id || b.getURL(),
                            g.pullRefresh(f)
                        }
                        if (d) {
                            var h = b.parent(),
                            i = b.id || b.getURL();
                            if (h) {
                                e || g.pullRefresh({
                                    webviewId: i
                                });
                                var j = {
                                    webviewId: i
                                };
                                j.down = a.extend({},
                                c.down),
                                j.down.callback = "_CALLBACK",
                                h.evalJS("mui&&mui(document.querySelector('.mui-content')).pullRefresh('" + JSON.stringify(j) + "')")
                            }
                        }
                    }) : g.pullRefresh(c))
                }
            }
        }
    })
} (mui),
function(a, b, c) {
    var d = "application/json",
    e = "text/html",
    f = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,
    g = /^(?:text|application)\/javascript/i,
    h = /^(?:text|application)\/xml/i,
    i = /^\s*$/;
    a.ajaxSettings = {
        type: "GET",
        beforeSend: a.noop,
        success: a.noop,
        error: a.noop,
        complete: a.noop,
        context: null,
        xhr: function(a) {
            return new b.XMLHttpRequest
        },
        accepts: {
            script: "text/javascript, application/javascript, application/x-javascript",
            json: d,
            xml: "application/xml, text/xml",
            html: e,
            text: "text/plain"
        },
        timeout: 0,
        processData: !0,
        cache: !0
    };
    var j = function(a, b) {
        var c = b.context;
        return b.beforeSend.call(c, a, b) === !1 ? !1 : void 0
    },
    k = function(a, b, c) {
        c.success.call(c.context, a, "success", b),
        m("success", b, c)
    },
    l = function(a, b, c, d) {
        d.error.call(d.context, c, b, a),
        m(b, c, d)
    },
    m = function(a, b, c) {
        c.complete.call(c.context, b, a)
    },
    n = function(b, c, d, e) {
        var f, g = a.isArray(c),
        h = a.isPlainObject(c);
        a.each(c,
        function(c, i) {
            f = a.type(i),
            e && (c = d ? e: e + "[" + (h || "object" === f || "array" === f ? c: "") + "]"),
            !e && g ? b.add(i.name, i.value) : "array" === f || !d && "object" === f ? n(b, i, d, c) : b.add(c, i)
        })
    },
    o = function(b) {
        if (b.processData && b.data && "string" != typeof b.data) {
            var e = b.contentType; ! e && b.headers && (e = b.headers["Content-Type"]),
            e && ~e.indexOf(d) ? b.data = JSON.stringify(b.data) : b.data = a.param(b.data, b.traditional)
        } ! b.data || b.type && "GET" !== b.type.toUpperCase() || (b.url = p(b.url, b.data), b.data = c)
    },
    p = function(a, b) {
        return "" === b ? a: (a + "&" + b).replace(/[&?]{1,2}/, "?")
    },
    q = function(a) {
        return a && (a = a.split(";", 2)[0]),
        a && (a === e ? "html": a === d ? "json": g.test(a) ? "script": h.test(a) && "xml") || "text"
    },
    r = function(b, d, e, f) {
        return a.isFunction(d) && (f = e, e = d, d = c),
        a.isFunction(e) || (f = e, e = c),
        {
            url: b,
            data: d,
            success: e,
            dataType: f
        }
    };
    a.ajax = function(d, e) {
        "object" == typeof d && (e = d, d = c);
        var f = e || {};
        f.url = d || f.url;
        for (var g in a.ajaxSettings) f[g] === c && (f[g] = a.ajaxSettings[g]);
        o(f);
        var h = f.dataType;
        f.cache !== !1 && (e && e.cache === !0 || "script" !== h) || (f.url = p(f.url, "_=" + a.now()));
        var m, n = f.accepts[h && h.toLowerCase()],
        r = {},
        s = function(a, b) {
            r[a.toLowerCase()] = [a, b]
        },
        t = /^([\w-]+:)\/\//.test(f.url) ? RegExp.$1: b.location.protocol,
        u = f.xhr(f),
        v = u.setRequestHeader;
        if (s("X-Requested-With", "XMLHttpRequest"), s("Accept", n || "*/*"), (n = f.mimeType || n) && (n.indexOf(",") > -1 && (n = n.split(",", 2)[0]), u.overrideMimeType && u.overrideMimeType(n)), (f.contentType || f.contentType !== !1 && f.data && "GET" !== f.type.toUpperCase()) && s("Content-Type", f.contentType || "application/x-www-form-urlencoded"), f.headers) for (var w in f.headers) s(w, f.headers[w]);
        if (u.setRequestHeader = s, u.onreadystatechange = function() {
            if (4 === u.readyState) {
                u.onreadystatechange = a.noop,
                clearTimeout(m);
                var b, c = !1,
                d = "file:" === t;
                if (u.status >= 200 && u.status < 300 || 304 === u.status || 0 === u.status && d && u.responseText) {
                    h = h || q(f.mimeType || u.getResponseHeader("content-type")),
                    b = u.responseText;
                    try {
                        "script" === h ? (1, eval)(b) : "xml" === h ? b = u.responseXML: "json" === h && (b = i.test(b) ? null: a.parseJSON(b))
                    } catch(e) {
                        c = e
                    }
                    c ? l(c, "parsererror", u, f) : k(b, u, f)
                } else {
                    var g = u.status ? "error": "abort",
                    j = u.statusText || null;
                    d && (g = "error", j = "404"),
                    l(j, g, u, f)
                }
            }
        },
        j(u, f) === !1) return u.abort(),
        l(null, "abort", u, f),
        u;
        if (f.xhrFields) for (var w in f.xhrFields) u[w] = f.xhrFields[w];
        var x = "async" in f ? f.async: !0;
        u.open(f.type.toUpperCase(), f.url, x, f.username, f.password);
        for (var w in r) r.hasOwnProperty(w) && v.apply(u, r[w]);
        return f.timeout > 0 && (m = setTimeout(function() {
            u.onreadystatechange = a.noop,
            u.abort(),
            l(null, "timeout", u, f)
        },
        f.timeout)),
        u.send(f.data ? f.data: null),
        u
    },
    a.param = function(a, b) {
        var c = [];
        return c.add = function(a, b) {
            this.push(encodeURIComponent(a) + "=" + encodeURIComponent(b))
        },
        n(c, a, b),
        c.join("&").replace(/%20/g, "+")
    },
    a.get = function() {
        return a.ajax(r.apply(null, arguments))
    },
    a.post = function() {
        var b = r.apply(null, arguments);
        return b.type = "POST",
        a.ajax(b)
    },
    a.getJSON = function() {
        var b = r.apply(null, arguments);
        return b.dataType = "json",
        a.ajax(b)
    },
    a.fn.load = function(b, c, d) {
        if (!this.length) return this;
        var e, g = this,
        h = b.split(/\s/),
        i = r(b, c, d),
        j = i.success;
        return h.length > 1 && (i.url = h[0], e = h[1]),
        i.success = function(a) {
            if (e) {
                var b = document.createElement("div");
                b.innerHTML = a.replace(f, "");
                var c = document.createElement("div"),
                d = b.querySelectorAll(e);
                if (d && d.length > 0) for (var h = 0,
                i = d.length; i > h; h++) c.appendChild(d[h]);
                g[0].innerHTML = c.innerHTML
            } else g[0].innerHTML = a;
            j && j.apply(g, arguments)
        },
        a.ajax(i),
        this
    }
} (mui, window),
function(a) {
    var b = document.createElement("a");
    b.href = window.location.href,
    a.plusReady(function() {
        a.ajaxSettings = a.extend(a.ajaxSettings, {
            xhr: function(a) {
                if (a.crossDomain) return new plus.net.XMLHttpRequest;
                if ("file:" !== b.protocol) {
                    var c = document.createElement("a");
                    if (c.href = a.url, c.href = c.href, a.crossDomain = b.protocol + "//" + b.host != c.protocol + "//" + c.host, a.crossDomain) return new plus.net.XMLHttpRequest
                }
                return new window.XMLHttpRequest
            }
        })
    })
} (mui),
function(a, b, c) {
    a.offset = function(a) {
        var d = {
            top: 0,
            left: 0
        };
        return typeof a.getBoundingClientRect !== c && (d = a.getBoundingClientRect()),
        {
            top: d.top + b.pageYOffset - a.clientTop,
            left: d.left + b.pageXOffset - a.clientLeft
        }
    }
} (mui, window),
function(a, b) {
    a.scrollTo = function(a, c, d) {
        c = c || 1e3;
        var e = function(c) {
            if (0 >= c) return b.scrollTo(0, a),
            void(d && d());
            var f = a - b.scrollY;
            setTimeout(function() {
                b.scrollTo(0, b.scrollY + f / c * 10),
                e(c - 10)
            },
            16.7)
        };
        e(c)
    },
    a.animationFrame = function(a) {
        var b, c, d;
        return function() {
            b = arguments,
            d = this,
            c || (c = !0, requestAnimationFrame(function() {
                a.apply(d, b),
                c = !1
            }))
        }
    }
} (mui, window),
function(a) {
    var b = !1,
    c = /xyz/.test(function() {
        xyz
    }) ? /\b_super\b/: /.*/,
    d = function() {};
    d.extend = function(a) {
        function d() { ! b && this.init && this.init.apply(this, arguments)
        }
        var e = this.prototype;
        b = !0;
        var f = new this;
        b = !1;
        for (var g in a) f[g] = "function" == typeof a[g] && "function" == typeof e[g] && c.test(a[g]) ?
        function(a, b) {
            return function() {
                var c = this._super;
                this._super = e[a];
                var d = b.apply(this, arguments);
                return this._super = c,
                d
            }
        } (g, a[g]) : a[g];
        return d.prototype = f,
        d.prototype.constructor = d,
        d.extend = arguments.callee,
        d
    },
    a.Class = d
} (mui),
function(a, b, c) {
    var d = "mui-pull-top-pocket",
    e = "mui-pull-bottom-pocket",
    f = "mui-pull",
    g = "mui-pull-loading",
    h = "mui-pull-caption",
    i = "mui-pull-caption-down",
    j = "mui-pull-caption-refresh",
    k = "mui-pull-caption-nomore",
    l = "mui-icon",
    m = "mui-spinner",
    n = "mui-icon-pulldown",
    o = "mui-block",
    p = "mui-hidden",
    q = "mui-visibility",
    r = g + " " + l + " " + n,
    s = g + " " + l + " " + n,
    t = g + " " + l + " " + m,
    u = ['<div class="' + f + '">', '<div class="{icon}"></div>', '<div class="' + h + '">{contentrefresh}</div>', "</div>"].join(""),
    v = {
        init: function(b, c) {
            this._super(b, a.extend(!0, {
                scrollY: !0,
                scrollX: !1,
                indicators: !0,
                deceleration: .003,
                down: {
                    height: 50,
                    contentinit: "下拉可以刷新",
                    contentdown: "下拉可以刷新",
                    contentover: "释放立即刷新",
                    contentrefresh: "正在刷新..."
                },
                up: {
                    height: 50,
                    auto: !1,
                    contentinit: "上拉显示更多",
                    contentdown: "上拉显示更多",
                    contentrefresh: "正在加载...",
                    contentnomore: "没有更多数据了",
                    duration: 300
                }
            },
            c))
        },
        _init: function() {
            this._super(),
            this._initPocket()
        },
        _initPulldownRefresh: function() {
            this.pulldown = !0,
            this.pullPocket = this.topPocket,
            this.pullPocket.classList.add(o),
            this.pullPocket.classList.add(q),
            this.pullCaption = this.topCaption,
            this.pullLoading = this.topLoading
        },
        _initPullupRefresh: function() {
            this.pulldown = !1,
            this.pullPocket = this.bottomPocket,
            this.pullPocket.classList.add(o),
            this.pullPocket.classList.add(q),
            this.pullCaption = this.bottomCaption,
            this.pullLoading = this.bottomLoading
        },
        _initPocket: function() {
            var a = this.options;
            a.down && a.down.hasOwnProperty("callback") && (this.topPocket = this.scroller.querySelector("." + d), this.topPocket || (this.topPocket = this._createPocket(d, a.down, s), this.wrapper.insertBefore(this.topPocket, this.wrapper.firstChild)), this.topLoading = this.topPocket.querySelector("." + g), this.topCaption = this.topPocket.querySelector("." + h)),
            a.up && a.up.hasOwnProperty("callback") && (this.bottomPocket = this.scroller.querySelector("." + e), this.bottomPocket || (this.bottomPocket = this._createPocket(e, a.up, t), this.scroller.appendChild(this.bottomPocket)), this.bottomLoading = this.bottomPocket.querySelector("." + g), this.bottomCaption = this.bottomPocket.querySelector("." + h), this.wrapper.addEventListener("scrollbottom", this))
        },
        _createPocket: function(a, c, d) {
            var e = b.createElement("div");
            return e.className = a,
            e.innerHTML = u.replace("{contentrefresh}", c.contentinit).replace("{icon}", d),
            e
        },
        _resetPullDownLoading: function() {
            var a = this.pullLoading;
            a && (this.pullCaption.innerHTML = this.options.down.contentdown, a.style.webkitTransition = "", a.style.webkitTransform = "", a.style.webkitAnimation = "", a.className = s)
        },
        _setCaptionClass: function(a, b, c) {
            if (!a) switch (c) {
            case this.options.up.contentdown:
                b.className = h + " " + i;
                break;
            case this.options.up.contentrefresh:
                b.className = h + " " + j;
                break;
            case this.options.up.contentnomore:
                b.className = h + " " + k
            }
        },
        _setCaption: function(a, b) {
            if (!this.loading) {
                var c = this.options,
                d = this.pullPocket,
                e = this.pullCaption,
                f = this.pullLoading,
                g = this.pulldown,
                h = this;
                d && (b ? setTimeout(function() {
                    e.innerHTML = h.lastTitle = a,
                    g ? f.className = s: (h._setCaptionClass(!1, e, a), f.className = t),
                    f.style.webkitAnimation = "",
                    f.style.webkitTransition = "",
                    f.style.webkitTransform = ""
                },
                100) : a !== this.lastTitle && (e.innerHTML = a, g ? a === c.down.contentrefresh ? (f.className = t, f.style.webkitAnimation = "spinner-spin 1s step-end infinite") : a === c.down.contentover ? (f.className = r, f.style.webkitTransition = "-webkit-transform 0.3s ease-in", f.style.webkitTransform = "rotate(180deg)") : a === c.down.contentdown && (f.className = s, f.style.webkitTransition = "-webkit-transform 0.3s ease-in", f.style.webkitTransform = "rotate(0deg)") : (a === c.up.contentrefresh ? f.className = t + " " + q: f.className = t + " " + p, h._setCaptionClass(!1, e, a)), this.lastTitle = a))
            }
        }
    };
    a.PullRefresh = v
} (mui, document),
function(a, b, c, d) {
    var e = "mui-scroll",
    f = "mui-scrollbar",
    g = "mui-scrollbar-indicator",
    h = f + "-vertical",
    i = f + "-horizontal",
    j = "mui-active",
    k = {
        quadratic: {
            style: "cubic-bezier(0.25, 0.46, 0.45, 0.94)",
            fn: function(a) {
                return a * (2 - a)
            }
        },
        circular: {
            style: "cubic-bezier(0.1, 0.57, 0.1, 1)",
            fn: function(a) {
                return Math.sqrt(1 - --a * a)
            }
        },
        outCirc: {
            style: "cubic-bezier(0.075, 0.82, 0.165, 1)"
        },
        outCubic: {
            style: "cubic-bezier(0.165, 0.84, 0.44, 1)"
        }
    },
    l = a.Class.extend({
        init: function(b, c) {
            this.wrapper = this.element = b,
            this.scroller = this.wrapper.children[0],
            this.scrollerStyle = this.scroller && this.scroller.style,
            this.stopped = !1,
            this.options = a.extend(!0, {
                scrollY: !0,
                scrollX: !1,
                startX: 0,
                startY: 0,
                indicators: !0,
                stopPropagation: !1,
                hardwareAccelerated: !0,
                fixedBadAndorid: !1,
                preventDefaultException: {
                    tagName: /^(INPUT|TEXTAREA|BUTTON|SELECT|VIDEO)$/
                },
                momentum: !0,
                snapX: .5,
                snap: !1,
                bounce: !0,
                bounceTime: 500,
                bounceEasing: k.outCirc,
                scrollTime: 500,
                scrollEasing: k.outCubic,
                directionLockThreshold: 5,
                parallaxElement: !1,
                parallaxRatio: .5
            },
            c),
            this.x = 0,
            this.y = 0,
            this.translateZ = this.options.hardwareAccelerated ? " translateZ(0)": "",
            this._init(),
            this.scroller && (this.refresh(), this.scrollTo(this.options.startX, this.options.startY))
        },
        _init: function() {
            this._initParallax(),
            this._initIndicators(),
            this._initEvent()
        },
        _initParallax: function() {
            this.options.parallaxElement && (this.parallaxElement = c.querySelector(this.options.parallaxElement), this.parallaxStyle = this.parallaxElement.style, this.parallaxHeight = this.parallaxElement.offsetHeight, this.parallaxImgStyle = this.parallaxElement.querySelector("img").style)
        },
        _initIndicators: function() {
            var a = this;
            if (a.indicators = [], this.options.indicators) {
                var b, c = [];
                a.options.scrollY && (b = {
                    el: this._createScrollBar(h),
                    listenX: !1
                },
                this.wrapper.appendChild(b.el), c.push(b)),
                this.options.scrollX && (b = {
                    el: this._createScrollBar(i),
                    listenY: !1
                },
                this.wrapper.appendChild(b.el), c.push(b));
                for (var d = c.length; d--;) this.indicators.push(new m(this, c[d]))
            }
        },
        _initSnap: function() {
            this.currentPage = {},
            this.pages = [];
            for (var a = this.snaps,
            b = a.length,
            c = 0,
            d = -1,
            e = 0,
            f = 0,
            g = 0,
            h = 0,
            i = 0; b > i; i++) {
                var k = a[i],
                l = k.offsetLeft,
                m = k.offsetWidth; (0 === i || l <= a[i - 1].offsetLeft) && (c = 0, d++),
                this.pages[c] || (this.pages[c] = []),
                e = this._getSnapX(l),
                h = Math.round(m * this.options.snapX),
                f = e - h,
                g = e - m + h,
                this.pages[c][d] = {
                    x: e,
                    leftX: f,
                    rightX: g,
                    pageX: c,
                    element: k
                },
                k.classList.contains(j) && (this.currentPage = this.pages[c][0]),
                e >= this.maxScrollX && c++
            }
            this.options.startX = this.currentPage.x || 0
        },
        _getSnapX: function(a) {
            return Math.max(Math.min(0, -a + this.wrapperWidth / 2), this.maxScrollX)
        },
        _gotoPage: function(a) {
            this.currentPage = this.pages[Math.min(a, this.pages.length - 1)][0];
            for (var b = 0,
            c = this.snaps.length; c > b; b++) b === a ? this.snaps[b].classList.add(j) : this.snaps[b].classList.remove(j);
            this.scrollTo(this.currentPage.x, 0, this.options.scrollTime)
        },
        _nearestSnap: function(a) {
            if (!this.pages.length) return {
                x: 0,
                pageX: 0
            };
            var b = 0,
            c = this.pages.length;
            for (a > 0 ? a = 0 : a < this.maxScrollX && (a = this.maxScrollX); c > b; b++) {
                var d = "left" === this.direction ? this.pages[b][0].leftX: this.pages[b][0].rightX;
                if (a >= d) return this.pages[b][0]
            }
            return {
                x: 0,
                pageX: 0
            }
        },
        _initEvent: function(c) {
            var d = c ? "removeEventListener": "addEventListener";
            b[d]("orientationchange", this),
            b[d]("resize", this),
            this.scroller[d]("webkitTransitionEnd", this),
            this.wrapper[d](a.EVENT_START, this),
            this.wrapper[d](a.EVENT_CANCEL, this),
            this.wrapper[d](a.EVENT_END, this),
            this.wrapper[d]("drag", this),
            this.wrapper[d]("dragend", this),
            this.wrapper[d]("flick", this),
            this.wrapper[d]("scrollend", this),
            this.options.scrollX && this.wrapper[d]("swiperight", this);
            var e = this.wrapper.querySelector(".mui-segmented-control");
            e && mui(e)[c ? "off": "on"]("click", "a", a.preventDefault),
            this.wrapper[d]("scrollstart", this),
            this.wrapper[d]("refresh", this)
        },
        _handleIndicatorScrollend: function() {
            this.indicators.map(function(a) {
                a.fade()
            })
        },
        _handleIndicatorScrollstart: function() {
            this.indicators.map(function(a) {
                a.fade(1)
            })
        },
        _handleIndicatorRefresh: function() {
            this.indicators.map(function(a) {
                a.refresh()
            })
        },
        handleEvent: function(b) {
            if (this.stopped) return void this.resetPosition();
            switch (b.type) {
            case a.EVENT_START:
                this._start(b);
                break;
            case "drag":
                this.options.stopPropagation && b.stopPropagation(),
                this._drag(b);
                break;
            case "dragend":
            case "flick":
                this.options.stopPropagation && b.stopPropagation(),
                this._flick(b);
                break;
            case a.EVENT_CANCEL:
            case a.EVENT_END:
                this._end(b);
                break;
            case "webkitTransitionEnd":
                this.transitionTimer && this.transitionTimer.cancel(),
                this._transitionEnd(b);
                break;
            case "scrollstart":
                this._handleIndicatorScrollstart(b);
                break;
            case "scrollend":
                this._handleIndicatorScrollend(b),
                this._scrollend(b),
                b.stopPropagation();
                break;
            case "orientationchange":
            case "resize":
                this._resize();
                break;
            case "swiperight":
                b.stopPropagation();
                break;
            case "refresh":
                this._handleIndicatorRefresh(b)
            }
        },
        _start: function(b) {
            if (this.moved = this.needReset = !1, this._transitionTime(), this.isInTransition) {
                this.needReset = !0,
                this.isInTransition = !1;
                var c = a.parseTranslateMatrix(a.getStyles(this.scroller, "webkitTransform"));
                this.setTranslate(Math.round(c.x), Math.round(c.y)),
                a.trigger(this.scroller, "scrollend", this),
                b.preventDefault()
            }
            this.reLayout(),
            a.trigger(this.scroller, "beforescrollstart", this)
        },
        _getDirectionByAngle: function(a) {
            return - 80 > a && a > -100 ? "up": a >= 80 && 100 > a ? "down": a >= 170 || -170 >= a ? "left": a >= -35 && 10 >= a ? "right": null
        },
        _drag: function(c) {
            var d = c.detail;
            if ((this.options.scrollY || "up" === d.direction || "down" === d.direction) && a.os.ios && parseFloat(a.os.version) >= 8) {
                var e = d.gesture.touches[0].clientY;
                if (e + 10 > b.innerHeight || 10 > e) return void this.resetPosition(this.options.bounceTime)
            }
            var f = isReturn = !1;
            this._getDirectionByAngle(d.angle);
            if ("left" === d.direction || "right" === d.direction ? this.options.scrollX ? (f = !0, this.moved || (a.gestures.session.lockDirection = !0, a.gestures.session.startDirection = d.direction)) : this.options.scrollY && !this.moved && (isReturn = !0) : "up" === d.direction || "down" === d.direction ? this.options.scrollY ? (f = !0, this.moved || (a.gestures.session.lockDirection = !0, a.gestures.session.startDirection = d.direction)) : this.options.scrollX && !this.moved && (isReturn = !0) : isReturn = !0, (this.moved || f) && (c.stopPropagation(), d.gesture && d.gesture.preventDefault()), !isReturn) {
                this.moved ? c.stopPropagation() : a.trigger(this.scroller, "scrollstart", this);
                var g = 0,
                h = 0;
                this.moved ? (g = d.deltaX - a.gestures.session.prevTouch.deltaX, h = d.deltaY - a.gestures.session.prevTouch.deltaY) : (g = d.deltaX, h = d.deltaY);
                var i = Math.abs(d.deltaX),
                j = Math.abs(d.deltaY);
                i > j + this.options.directionLockThreshold ? h = 0 : j >= i + this.options.directionLockThreshold && (g = 0),
                g = this.hasHorizontalScroll ? g: 0,
                h = this.hasVerticalScroll ? h: 0;
                var k = this.x + g,
                l = this.y + h; (k > 0 || k < this.maxScrollX) && (k = this.options.bounce ? this.x + g / 3 : k > 0 ? 0 : this.maxScrollX),
                (l > 0 || l < this.maxScrollY) && (l = this.options.bounce ? this.y + h / 3 : l > 0 ? 0 : this.maxScrollY),
                this.requestAnimationFrame || this._updateTranslate(),
                this.direction = d.deltaX > 0 ? "right": "left",
                this.moved = !0,
                this.x = k,
                this.y = l,
                a.trigger(this.scroller, "scroll", this)
            }
        },
        _flick: function(b) {
            if (this.moved) {
                b.stopPropagation();
                var c = b.detail;
                if (this._clearRequestAnimationFrame(), "dragend" !== b.type || !c.flick) {
                    var d = Math.round(this.x),
                    e = Math.round(this.y);
                    if (this.isInTransition = !1, !this.resetPosition(this.options.bounceTime)) {
                        if (this.scrollTo(d, e), "dragend" === b.type) return void a.trigger(this.scroller, "scrollend", this);
                        var f = 0,
                        g = "";
                        return this.options.momentum && c.flickTime < 300 && (momentumX = this.hasHorizontalScroll ? this._momentum(this.x, c.flickDistanceX, c.flickTime, this.maxScrollX, this.options.bounce ? this.wrapperWidth: 0, this.options.deceleration) : {
                            destination: d,
                            duration: 0
                        },
                        momentumY = this.hasVerticalScroll ? this._momentum(this.y, c.flickDistanceY, c.flickTime, this.maxScrollY, this.options.bounce ? this.wrapperHeight: 0, this.options.deceleration) : {
                            destination: e,
                            duration: 0
                        },
                        d = momentumX.destination, e = momentumY.destination, f = Math.max(momentumX.duration, momentumY.duration), this.isInTransition = !0),
                        d != this.x || e != this.y ? ((d > 0 || d < this.maxScrollX || e > 0 || e < this.maxScrollY) && (g = k.quadratic), void this.scrollTo(d, e, f, g)) : void a.trigger(this.scroller, "scrollend", this)
                    }
                }
            }
        },
        _end: function(b) {
            this.needReset = !1,
            (!this.moved && this.needReset || b.type === a.EVENT_CANCEL) && this.resetPosition()
        },
        _transitionEnd: function(b) {
            b.target == this.scroller && this.isInTransition && (this._transitionTime(), this.resetPosition(this.options.bounceTime) || (this.isInTransition = !1, a.trigger(this.scroller, "scrollend", this)))
        },
        _scrollend: function(b) { (0 === this.y && 0 === this.maxScrollY || Math.abs(this.y) > 0 && this.y <= this.maxScrollY) && a.trigger(this.scroller, "scrollbottom", this)
        },
        _resize: function() {
            var a = this;
            clearTimeout(a.resizeTimeout),
            a.resizeTimeout = setTimeout(function() {
                a.refresh()
            },
            a.options.resizePolling)
        },
        _transitionTime: function(b) {
            if (b = b || 0, this.scrollerStyle.webkitTransitionDuration = b + "ms", this.parallaxElement && this.options.scrollY && (this.parallaxStyle.webkitTransitionDuration = b + "ms"), this.options.fixedBadAndorid && !b && a.os.isBadAndroid && (this.scrollerStyle.webkitTransitionDuration = "0.001s", this.parallaxElement && this.options.scrollY && (this.parallaxStyle.webkitTransitionDuration = "0.001s")), this.indicators) for (var c = this.indicators.length; c--;) this.indicators[c].transitionTime(b);
            b && (this.transitionTimer && this.transitionTimer.cancel(), this.transitionTimer = a.later(function() {
                a.trigger(this.scroller, "webkitTransitionEnd")
            },
            b + 100, this))
        },
        _transitionTimingFunction: function(a) {
            if (this.scrollerStyle.webkitTransitionTimingFunction = a, this.parallaxElement && this.options.scrollY && (this.parallaxStyle.webkitTransitionDuration = a), this.indicators) for (var b = this.indicators.length; b--;) this.indicators[b].transitionTimingFunction(a)
        },
        _translate: function(a, b) {
            this.x = a,
            this.y = b
        },
        _clearRequestAnimationFrame: function() {
            this.requestAnimationFrame && (cancelAnimationFrame(this.requestAnimationFrame), this.requestAnimationFrame = null)
        },
        _updateTranslate: function() {
            var a = this; (a.x !== a.lastX || a.y !== a.lastY) && a.setTranslate(a.x, a.y),
            a.requestAnimationFrame = requestAnimationFrame(function() {
                a._updateTranslate()
            })
        },
        _createScrollBar: function(a) {
            var b = c.createElement("div"),
            d = c.createElement("div");
            return b.className = f + " " + a,
            d.className = g,
            b.appendChild(d),
            a === h ? (this.scrollbarY = b, this.scrollbarIndicatorY = d) : a === i && (this.scrollbarX = b, this.scrollbarIndicatorX = d),
            this.wrapper.appendChild(b),
            b
        },
        _preventDefaultException: function(a, b) {
            for (var c in b) if (b[c].test(a[c])) return ! 0;
            return ! 1
        },
        _reLayout: function() {
            if (this.hasHorizontalScroll || (this.maxScrollX = 0, this.scrollerWidth = this.wrapperWidth), this.hasVerticalScroll || (this.maxScrollY = 0, this.scrollerHeight = this.wrapperHeight), this.indicators.map(function(a) {
                a.refresh()
            }), this.options.snap && "string" == typeof this.options.snap) {
                var a = this.scroller.querySelectorAll(this.options.snap);
                this.itemLength = 0,
                this.snaps = [];
                for (var b = 0,
                c = a.length; c > b; b++) {
                    var d = a[b];
                    d.parentNode === this.scroller && (this.itemLength++, this.snaps.push(d))
                }
                this._initSnap()
            }
        },
        _momentum: function(a, b, c, e, f, g) {
            var h, i, j = parseFloat(Math.abs(b) / c);
            return g = g === d ? 6e-4: g,
            h = a + j * j / (2 * g) * (0 > b ? -1 : 1),
            i = j / g,
            e > h ? (h = f ? e - f / 2.5 * (j / 8) : e, b = Math.abs(h - a), i = b / j) : h > 0 && (h = f ? f / 2.5 * (j / 8) : 0, b = Math.abs(a) + h, i = b / j),
            {
                destination: Math.round(h),
                duration: i
            }
        },
        _getTranslateStr: function(a, b) {
            return this.options.hardwareAccelerated ? "translate3d(" + a + "px," + b + "px,0px) " + this.translateZ: "translate(" + a + "px," + b + "px) "
        },
        setStopped: function(a) {
            this.stopped = !!a
        },
        setTranslate: function(b, c) {
            if (this.x = b, this.y = c, this.scrollerStyle.webkitTransform = this._getTranslateStr(b, c), this.parallaxElement && this.options.scrollY) {
                var d = c * this.options.parallaxRatio,
                e = 1 + d / ((this.parallaxHeight - d) / 2);
                e > 1 ? (this.parallaxImgStyle.opacity = 1 - d / 100 * this.options.parallaxRatio, this.parallaxStyle.webkitTransform = this._getTranslateStr(0, -d) + " scale(" + e + "," + e + ")") : (this.parallaxImgStyle.opacity = 1, this.parallaxStyle.webkitTransform = this._getTranslateStr(0, -1) + " scale(1,1)")
            }
            if (this.indicators) for (var f = this.indicators.length; f--;) this.indicators[f].updatePosition();
            this.lastX = this.x,
            this.lastY = this.y,
            a.trigger(this.scroller, "scroll", this)
        },
        reLayout: function() {
            this.wrapper.offsetHeight;
            var b = parseFloat(a.getStyles(this.wrapper, "padding-left")) || 0,
            c = parseFloat(a.getStyles(this.wrapper, "padding-right")) || 0,
            d = parseFloat(a.getStyles(this.wrapper, "padding-top")) || 0,
            e = parseFloat(a.getStyles(this.wrapper, "padding-bottom")) || 0,
            f = this.wrapper.clientWidth,
            g = this.wrapper.clientHeight;
            this.scrollerWidth = this.scroller.offsetWidth,
            this.scrollerHeight = this.scroller.offsetHeight,
            this.wrapperWidth = f - b - c,
            this.wrapperHeight = g - d - e,
            this.maxScrollX = Math.min(this.wrapperWidth - this.scrollerWidth, 0),
            this.maxScrollY = Math.min(this.wrapperHeight - this.scrollerHeight, 0),
            this.hasHorizontalScroll = this.options.scrollX && this.maxScrollX < 0,
            this.hasVerticalScroll = this.options.scrollY && this.maxScrollY < 0,
            this._reLayout()
        },
        resetPosition: function(a) {
            var b = this.x,
            c = this.y;
            return a = a || 0,
            !this.hasHorizontalScroll || this.x > 0 ? b = 0 : this.x < this.maxScrollX && (b = this.maxScrollX),
            !this.hasVerticalScroll || this.y > 0 ? c = 0 : this.y < this.maxScrollY && (c = this.maxScrollY),
            b == this.x && c == this.y ? !1 : (this.scrollTo(b, c, a, this.options.scrollEasing), !0)
        },
        _reInit: function() {
            for (var a = this.wrapper.querySelectorAll("." + e), b = 0, c = a.length; c > b; b++) if (a[b].parentNode === this.wrapper) {
                this.scroller = a[b];
                break
            }
            this.scrollerStyle = this.scroller && this.scroller.style
        },
        refresh: function() {
            this._reInit(),
            this.reLayout(),
            a.trigger(this.scroller, "refresh", this),
            this.resetPosition()
        },
        scrollTo: function(a, b, c, d) {
            var d = d || k.circular;
            this.isInTransition = c > 0,
            this.isInTransition ? (this._clearRequestAnimationFrame(), this._transitionTimingFunction(d.style), this._transitionTime(c), this.setTranslate(a, b)) : this.setTranslate(a, b)
        },
        scrollToBottom: function(a, b) {
            a = a || this.options.scrollTime,
            this.scrollTo(0, this.maxScrollY, a, b)
        },
        gotoPage: function(a) {
            this._gotoPage(a)
        },
        destroy: function() {
            this._initEvent(!0),
            delete a.data[this.wrapper.getAttribute("data-scroll")],
            this.wrapper.setAttribute("data-scroll", "")
        }
    }),
    m = function(b, d) {
        this.wrapper = "string" == typeof d.el ? c.querySelector(d.el) : d.el,
        this.wrapperStyle = this.wrapper.style,
        this.indicator = this.wrapper.children[0],
        this.indicatorStyle = this.indicator.style,
        this.scroller = b,
        this.options = a.extend({
            listenX: !0,
            listenY: !0,
            fade: !1,
            speedRatioX: 0,
            speedRatioY: 0
        },
        d),
        this.sizeRatioX = 1,
        this.sizeRatioY = 1,
        this.maxPosX = 0,
        this.maxPosY = 0,
        this.options.fade && (this.wrapperStyle.webkitTransform = this.scroller.translateZ, this.wrapperStyle.webkitTransitionDuration = this.options.fixedBadAndorid && a.os.isBadAndroid ? "0.001s": "0ms", this.wrapperStyle.opacity = "0")
    };
    m.prototype = {
        handleEvent: function(a) {},
        transitionTime: function(b) {
            b = b || 0,
            this.indicatorStyle.webkitTransitionDuration = b + "ms",
            this.scroller.options.fixedBadAndorid && !b && a.os.isBadAndroid && (this.indicatorStyle.webkitTransitionDuration = "0.001s")
        },
        transitionTimingFunction: function(a) {
            this.indicatorStyle.webkitTransitionTimingFunction = a
        },
        refresh: function() {
            this.transitionTime(),
            this.options.listenX && !this.options.listenY ? this.indicatorStyle.display = this.scroller.hasHorizontalScroll ? "block": "none": this.options.listenY && !this.options.listenX ? this.indicatorStyle.display = this.scroller.hasVerticalScroll ? "block": "none": this.indicatorStyle.display = this.scroller.hasHorizontalScroll || this.scroller.hasVerticalScroll ? "block": "none",
            this.wrapper.offsetHeight,
            this.options.listenX && (this.wrapperWidth = this.wrapper.clientWidth, this.indicatorWidth = Math.max(Math.round(this.wrapperWidth * this.wrapperWidth / (this.scroller.scrollerWidth || this.wrapperWidth || 1)), 8), this.indicatorStyle.width = this.indicatorWidth + "px", this.maxPosX = this.wrapperWidth - this.indicatorWidth, this.minBoundaryX = 0, this.maxBoundaryX = this.maxPosX, this.sizeRatioX = this.options.speedRatioX || this.scroller.maxScrollX && this.maxPosX / this.scroller.maxScrollX),
            this.options.listenY && (this.wrapperHeight = this.wrapper.clientHeight, this.indicatorHeight = Math.max(Math.round(this.wrapperHeight * this.wrapperHeight / (this.scroller.scrollerHeight || this.wrapperHeight || 1)), 8), this.indicatorStyle.height = this.indicatorHeight + "px", this.maxPosY = this.wrapperHeight - this.indicatorHeight, this.minBoundaryY = 0, this.maxBoundaryY = this.maxPosY, this.sizeRatioY = this.options.speedRatioY || this.scroller.maxScrollY && this.maxPosY / this.scroller.maxScrollY),
            this.updatePosition()
        },
        updatePosition: function() {
            var a = this.options.listenX && Math.round(this.sizeRatioX * this.scroller.x) || 0,
            b = this.options.listenY && Math.round(this.sizeRatioY * this.scroller.y) || 0;
            a < this.minBoundaryX ? (this.width = Math.max(this.indicatorWidth + a, 8), this.indicatorStyle.width = this.width + "px", a = this.minBoundaryX) : a > this.maxBoundaryX ? (this.width = Math.max(this.indicatorWidth - (a - this.maxPosX), 8), this.indicatorStyle.width = this.width + "px", a = this.maxPosX + this.indicatorWidth - this.width) : this.width != this.indicatorWidth && (this.width = this.indicatorWidth, this.indicatorStyle.width = this.width + "px"),
            b < this.minBoundaryY ? (this.height = Math.max(this.indicatorHeight + 3 * b, 8), this.indicatorStyle.height = this.height + "px", b = this.minBoundaryY) : b > this.maxBoundaryY ? (this.height = Math.max(this.indicatorHeight - 3 * (b - this.maxPosY), 8), this.indicatorStyle.height = this.height + "px", b = this.maxPosY + this.indicatorHeight - this.height) : this.height != this.indicatorHeight && (this.height = this.indicatorHeight, this.indicatorStyle.height = this.height + "px"),
            this.x = a,
            this.y = b,
            this.indicatorStyle.webkitTransform = this.scroller._getTranslateStr(a, b)
        },
        fade: function(a, b) {
            if (!b || this.visible) {
                clearTimeout(this.fadeTimeout),
                this.fadeTimeout = null;
                var c = a ? 250 : 500,
                d = a ? 0 : 300;
                a = a ? "1": "0",
                this.wrapperStyle.webkitTransitionDuration = c + "ms",
                this.fadeTimeout = setTimeout(function(a) {
                    this.wrapperStyle.opacity = a,
                    this.visible = +a
                }.bind(this, a), d)
            }
        }
    },
    a.Scroll = l,
    a.fn.scroll = function(b) {
        var c = [];
        return this.each(function() {
            var d = null,
            e = this,
            f = e.getAttribute("data-scroll");
            if (f) d = a.data[f];
            else {
                f = ++a.uuid;
                var g = a.extend({},
                b);
                e.classList.contains("mui-segmented-control") && (g = a.extend(g, {
                    scrollY: !1,
                    scrollX: !0,
                    indicators: !1,
                    snap: ".mui-control-item"
                })),
                a.data[f] = d = new l(e, g),
                e.setAttribute("data-scroll", f)
            }
            c.push(d)
        }),
        1 === c.length ? c[0] : c
    }
} (mui, window, document),
function(a, b, c, d) {
    var e = "mui-visibility",
    f = "mui-hidden",
    g = a.Scroll.extend(a.extend({
        handleEvent: function(a) {
            this._super(a),
            "scrollbottom" === a.type && a.target === this.scroller && this._scrollbottom()
        },
        _scrollbottom: function() {
            this.pulldown || this.loading || (this.pulldown = !1, this._initPullupRefresh(), this.pullupLoading())
        },
        _start: function(a) {
            a.touches && a.touches.length && a.touches[0].clientX > 30 && a.target && !this._preventDefaultException(a.target, this.options.preventDefaultException) && a.preventDefault(),
            this.loading || (this.pulldown = this.pullPocket = this.pullCaption = this.pullLoading = !1),
            this._super(a)
        },
        _drag: function(a) {
            this._super(a),
            !this.pulldown && !this.loading && this.topPocket && "down" === a.detail.direction && this.y >= 0 && this._initPulldownRefresh(),
            this.pulldown && this._setCaption(this.y > this.options.down.height ? this.options.down.contentover: this.options.down.contentdown)
        },
        _reLayout: function() {
            this.hasVerticalScroll = !0,
            this._super()
        },
        resetPosition: function(a) {
            if (this.pulldown) {
                if (this.y >= this.options.down.height) return this.pulldownLoading(d, a || 0),
                !0; ! this.loading && this.topPocket.classList.remove(e)
            }
            return this._super(a)
        },
        pulldownLoading: function(a, b) {
            if ("undefined" == typeof a && (a = this.options.down.height), this.scrollTo(0, a, b, this.options.bounceEasing), !this.loading) {
                this._initPulldownRefresh(),
                this._setCaption(this.options.down.contentrefresh),
                this.loading = !0,
                this.indicators.map(function(a) {
                    a.fade(0)
                });
                var c = this.options.down.callback;
                c && c.call(this)
            }
        },
        endPulldownToRefresh: function() {
            var a = this;
            a.topPocket && a.loading && this.pulldown && (a.scrollTo(0, 0, a.options.bounceTime, a.options.bounceEasing), a.loading = !1, a._setCaption(a.options.down.contentdown, !0), setTimeout(function() {
                a.loading || a.topPocket.classList.remove(e)
            },
            350))
        },
        pullupLoading: function(a, b, c) {
            b = b || 0,
            this.scrollTo(b, this.maxScrollY, c, this.options.bounceEasing),
            this.loading || (this._initPullupRefresh(), this._setCaption(this.options.up.contentrefresh), this.indicators.map(function(a) {
                a.fade(0)
            }), this.loading = !0, a = a || this.options.up.callback, a && a.call(this))
        },
        endPullupToRefresh: function(a,key) {
            var b = this;
            if(key!=null){
             b.options.up.contentrefresh=key;
            }
            console.log( b.options.up.contentrefresh)
            b.bottomPocket && (b.loading = !1, a ? (this.finished = !0, b._setCaption(b.options.up.contentnomore), b.wrapper.removeEventListener("scrollbottom", b)) : (b._setCaption(b.options.up.contentdown), b.loading || b.bottomPocket.classList.remove(e)))
        },
        disablePullupToRefresh: function() {
            this._initPullupRefresh(),
            this.bottomPocket.className = "mui-pull-bottom-pocket " + f,
            this.wrapper.removeEventListener("scrollbottom", this)
        },
        enablePullupToRefresh: function() {
            this._initPullupRefresh(),
            this.bottomPocket.classList.remove(f),
            this._setCaption(this.options.up.contentdown),
            this.wrapper.addEventListener("scrollbottom", this)
        },
        refresh: function(a) {
            a && this.finished && (this.enablePullupToRefresh(), this.finished = !1),
            this._super()
        }
    },
    a.PullRefresh));
    a.fn.pullRefresh = function(b) {
        if (1 === this.length) {
            var c = this[0],
            d = null;
            b = b || {};
            var e = c.getAttribute("data-pullrefresh");
            return e ? d = a.data[e] : (e = ++a.uuid, a.data[e] = d = new g(c, b), c.setAttribute("data-pullrefresh", e)),
            b.down && b.down.auto ? d.pulldownLoading(b.down.autoY) : b.up && b.up.auto && d.pullupLoading(),
            d
        }
    }
} (mui, window, document),
function(a, b) {
    var c = "mui-slider",
    d = "mui-slider-group",
    e = "mui-slider-loop",
    f = "mui-action-previous",
    g = "mui-action-next",
    h = "mui-slider-item",
    i = "mui-active",
    j = "." + h,
    k = ".mui-slider-progress-bar",
    l = a.Slider = a.Scroll.extend({
        init: function(b, c) {
            this._super(b, a.extend(!0, {
                fingers: 1,
                interval: 0,
                scrollY: !1,
                scrollX: !0,
                indicators: !1,
                scrollTime: 1e3,
                startX: !1,
                slideTime: 0,
                snap: j
            },
            c)),
            this.options.startX
        },
        _init: function() {
            this._reInit(),
            this.scroller && (this.scrollerStyle = this.scroller.style, this.progressBar = this.wrapper.querySelector(k), this.progressBar && (this.progressBarWidth = this.progressBar.offsetWidth, this.progressBarStyle = this.progressBar.style), this._super(), this._initTimer())
        },
        _triggerSlide: function() {
            var b = this;
            b.isInTransition = !1;
            b.currentPage;
            b.slideNumber = b._fixedSlideNumber(),
            b.loop && (0 === b.slideNumber ? b.setTranslate(b.pages[1][0].x, 0) : b.slideNumber === b.itemLength - 3 && b.setTranslate(b.pages[b.itemLength - 2][0].x, 0)),
            b.lastSlideNumber != b.slideNumber && (b.lastSlideNumber = b.slideNumber, b.lastPage = b.currentPage, a.trigger(b.wrapper, "slide", {
                slideNumber: b.slideNumber
            })),
            b._initTimer()
        },
        _handleSlide: function(b) {
            var c = this;
            if (b.target === c.wrapper) {
                var d = b.detail;
                d.slideNumber = d.slideNumber || 0;
                for (var e = c.scroller.querySelectorAll(j), f = [], g = 0, h = e.length; h > g; g++) {
                    var k = e[g];
                    k.parentNode === c.scroller && f.push(k)
                }
                var l = d.slideNumber;
                if (c.loop && (l += 1), !c.wrapper.classList.contains("mui-segmented-control")) for (var g = 0,
                h = f.length; h > g; g++) {
                    var k = f[g];
                    k.parentNode === c.scroller && (g === l ? k.classList.add(i) : k.classList.remove(i))
                }
                var m = c.wrapper.querySelector(".mui-slider-indicator");
                if (m) {
                    m.getAttribute("data-scroll") && a(m).scroll().gotoPage(d.slideNumber);
                    var n = m.querySelectorAll(".mui-indicator");
                    if (n.length > 0) for (var g = 0,
                    h = n.length; h > g; g++) n[g].classList[g === d.slideNumber ? "add": "remove"](i);
                    else {
                        var o = m.querySelector(".mui-number span");
                        if (o) o.innerText = d.slideNumber + 1;
                        else for (var p = m.querySelectorAll(".mui-control-item"), g = 0, h = p.length; h > g; g++) p[g].classList[g === d.slideNumber ? "add": "remove"](i)
                    }
                }
                b.stopPropagation()
            }
        },
        _handleTabShow: function(a) {
            var b = this;
            b.gotoItem(a.detail.tabNumber || 0, b.options.slideTime)
        },
        _handleIndicatorTap: function(a) {
            var b = this,
            c = a.target; (c.classList.contains(f) || c.classList.contains(g)) && (b[c.classList.contains(f) ? "prevItem": "nextItem"](), a.stopPropagation())
        },
        _initEvent: function(b) {
            var c = this;
            c._super(b);
            var d = b ? "removeEventListener": "addEventListener";
            c.wrapper[d]("slide", this),
            c.wrapper[d](a.eventName("shown", "tab"), this)
        },
        handleEvent: function(b) {
            switch (this._super(b), b.type) {
            case "slide":
                this._handleSlide(b);
                break;
            case a.eventName("shown", "tab") : ~this.snaps.indexOf(b.target) && this._handleTabShow(b)
            }
        },
        _scrollend: function(a) {
            this._super(a),
            this._triggerSlide(a)
        },
        _drag: function(a) {
            this._super(a);
            var c = a.detail.direction;
            if ("left" === c || "right" === c) {
                var d = this.wrapper.getAttribute("data-slidershowTimer");
                d && b.clearTimeout(d),
                a.stopPropagation()
            }
        },
        _initTimer: function() {
            var a = this,
            c = a.wrapper,
            d = a.options.interval,
            e = c.getAttribute("data-slidershowTimer");
            e && b.clearTimeout(e),
            d && (e = b.setTimeout(function() {
                c && ((c.offsetWidth || c.offsetHeight) && a.nextItem(!0), a._initTimer())
            },
            d), c.setAttribute("data-slidershowTimer", e))
        },
        _fixedSlideNumber: function(a) {
            a = a || this.currentPage;
            var b = a.pageX;
            return this.loop && (b = 0 === a.pageX ? this.itemLength - 3 : a.pageX === this.itemLength - 1 ? 0 : a.pageX - 1),
            b
        },
        _reLayout: function() {
            this.hasHorizontalScroll = !0,
            this.loop = this.scroller.classList.contains(e),
            this._super()
        },
        _getScroll: function() {
            var b = a.parseTranslateMatrix(a.getStyles(this.scroller, "webkitTransform"));
            return b ? b.x: 0
        },
        _transitionEnd: function(b) {
            b.target === this.scroller && this.isInTransition && (this._transitionTime(), this.isInTransition = !1, a.trigger(this.wrapper, "scrollend", this))
        },
        _flick: function(a) {
            if (this.moved) {
                var b = a.detail,
                c = b.direction;
                this._clearRequestAnimationFrame(),
                this.isInTransition = !0,
                "flick" === a.type ? (b.deltaTime < 200 && (this.x = this._getPage(this.slideNumber + ("right" === c ? -1 : 1), !0).x), this.resetPosition(this.options.bounceTime)) : "dragend" !== a.type || b.flick || this.resetPosition(this.options.bounceTime),
                a.stopPropagation()
            }
        },
        _initSnap: function() {
            if (this.scrollerWidth = this.itemLength * this.scrollerWidth, this.maxScrollX = Math.min(this.wrapperWidth - this.scrollerWidth, 0), this._super(), this.currentPage.x) this.slideNumber = this._fixedSlideNumber(),
            this.lastSlideNumber = "undefined" == typeof this.lastSlideNumber ? this.slideNumber: this.lastSlideNumber;
            else {
                var a = this.pages[this.loop ? 1 : 0];
                if (a = a || this.pages[0], !a) return;
                this.currentPage = a[0],
                this.slideNumber = 0,
                this.lastSlideNumber = "undefined" == typeof this.lastSlideNumber ? 0 : this.lastSlideNumber
            }
            this.options.startX = this.currentPage.x || 0
        },
        _getSnapX: function(a) {
            return Math.max( - a, this.maxScrollX)
        },
        _getPage: function(a, b) {
            return this.loop ? a > this.itemLength - (b ? 2 : 3) ? (a = 1, time = 0) : (b ? -1 : 0) > a ? (a = this.itemLength - 2, time = 0) : a += 1 : (b || (a > this.itemLength - 1 ? (a = 0, time = 0) : 0 > a && (a = this.itemLength - 1, time = 0)), a = Math.min(Math.max(0, a), this.itemLength - 1)),
            this.pages[a][0]
        },
        _gotoItem: function(b, c) {
            this.currentPage = this._getPage(b, !0),
            this.scrollTo(this.currentPage.x, 0, c, this.options.scrollEasing),
            0 === c && a.trigger(this.wrapper, "scrollend", this)
        },
        setTranslate: function(a, b) {
            this._super(a, b);
            var c = this.progressBar;
            c && (this.progressBarStyle.webkitTransform = this._getTranslateStr( - a * (this.progressBarWidth / this.wrapperWidth), 0))
        },
        resetPosition: function(a) {
            return a = a || 0,
            this.x > 0 ? this.x = 0 : this.x < this.maxScrollX && (this.x = this.maxScrollX),
            this.currentPage = this._nearestSnap(this.x),
            this.scrollTo(this.currentPage.x, 0, a, this.options.scrollEasing),
            !0
        },
        gotoItem: function(a, b) {
            this._gotoItem(a, "undefined" == typeof b ? this.options.scrollTime: b)
        },
        nextItem: function() {
            this._gotoItem(this.slideNumber + 1, this.options.scrollTime)
        },
        prevItem: function() {
            this._gotoItem(this.slideNumber - 1, this.options.scrollTime)
        },
        getSlideNumber: function() {
            return this.slideNumber || 0
        },
        _reInit: function() {
            for (var a = this.wrapper.querySelectorAll("." + d), b = 0, c = a.length; c > b; b++) if (a[b].parentNode === this.wrapper) {
                this.scroller = a[b];
                break
            }
            this.scrollerStyle = this.scroller && this.scroller.style,
            this.progressBar && (this.progressBarWidth = this.progressBar.offsetWidth, this.progressBarStyle = this.progressBar.style)
        },
        refresh: function(b) {
            b ? (a.extend(this.options, b), this._super(), this._initTimer()) : this._super()
        },
        destroy: function() {
            this._initEvent(!0),
            delete a.data[this.wrapper.getAttribute("data-slider")],
            this.wrapper.setAttribute("data-slider", "")
        }
    });
    a.fn.slider = function(b) {
        var d = null;
        return this.each(function() {
            var e = this;
            if (this.classList.contains(c) || (e = this.querySelector("." + c)), e && e.querySelector(j)) {
                var f = e.getAttribute("data-slider");
                f ? (d = a.data[f], d && b && d.refresh(b)) : (f = ++a.uuid, a.data[f] = d = new l(e, b), e.setAttribute("data-slider", f))
            }
        }),
        d
    },
    a.ready(function() {
        a(".mui-slider").slider(),
        a(".mui-scroll-wrapper.mui-slider-indicator.mui-segmented-control").scroll({
            scrollY: !1,
            scrollX: !0,
            indicators: !1,
            snap: ".mui-control-item"
        })
    })
} (mui, window),
function(a, b) {
    a.os.plus && a.os.android && a.plusReady(function() {
        if (window.__NWin_Enable__ !== !1) {
            var c = "mui-plus-pullrefresh",
            d = "mui-visibility",
            e = "mui-hidden",
            f = "mui-block",
            g = "mui-pull-caption",
            h = "mui-pull-caption-down",
            i = "mui-pull-caption-refresh",
            j = "mui-pull-caption-nomore",
            k = a.Class.extend({
                init: function(a, b) {
                    this.element = a,
                    this.options = b,
                    this.wrapper = this.scroller = a,
                    this._init(),
                    this._initPulldownRefreshEvent()
                },
                _init: function() {
                    var a = this;
                    window.addEventListener("dragup", a),
                    b.addEventListener("plusscrollbottom", a),
                    a.scrollInterval = window.setInterval(function() {
                        a.isScroll && !a.loading && window.pageYOffset + window.innerHeight + 10 >= b.documentElement.scrollHeight && (a.isScroll = !1, a.bottomPocket && a.pullupLoading())
                    },
                    100)
                },
                _initPulldownRefreshEvent: function() {
                    var b = this;
                    b.topPocket && b.options.webviewId && a.plusReady(function() {
                        var a = plus.webview.getWebviewById(b.options.webviewId);
                        if (a) {
                            b.options.webview = a;
                            var c = b.options.down,
                            d = c.height;
                            a.addEventListener("close",
                            function() {
                                var a = b.options.webviewId && b.options.webviewId.replace(/\//g, "_");
                                b.element.removeAttribute("data-pullrefresh-plus-" + a)
                            }),
                            a.addEventListener("dragBounce",
                            function(d) {
                                switch (b.pulldown ? b.pullPocket.classList.add(f) : b._initPulldownRefresh(), d.status) {
                                case "beforeChangeOffset":
                                    b._setCaption(c.contentdown);
                                    break;
                                case "afterChangeOffset":
                                    b._setCaption(c.contentover);
                                    break;
                                case "dragEndAfterChangeOffset":
                                    a.evalJS("mui&&mui.options.pullRefresh.down.callback()"),
                                    b._setCaption(c.contentrefresh)
                                }
                            },
                            !1),
                            a.setBounce({
                                position: {
                                    top: 2 * d + "px"
                                },
                                changeoffset: {
                                    top: d + "px"
                                }
                            })
                        }
                    })
                },
                handleEvent: function(a) {
                    var b = this;
                    b.stopped || (b.isScroll = !1, ("dragup" === a.type || "plusscrollbottom" === a.type) && (b.isScroll = !0, setTimeout(function() {
                        b.isScroll = !1
                    },
                    1e3)))
                }
            }).extend(a.extend({
                setStopped: function(a) {
                    this.stopped = !!a;
                    var b = plus.webview.currentWebview();
                    if (this.stopped) b.setStyle({
                        bounce: "none"
                    }),
                    b.setBounce({
                        position: {
                            top: "none"
                        }
                    });
                    else {
                        var c = this.options.down.height;
                        b.setStyle({
                            bounce: "vertical"
                        }),
                        b.setBounce({
                            position: {
                                top: 2 * c + "px"
                            },
                            changeoffset: {
                                top: c + "px"
                            }
                        })
                    }
                },
                pulldownLoading: function() {
                    a.plusReady(function() {
                        plus.webview.currentWebview().setBounce({
                            offset: {
                                top: this.options.down.height + "px"
                            }
                        })
                    }.bind(this))
                },
                _pulldownLoading: function() {
                    var b = this;
                    a.plusReady(function() {
                        var a = plus.webview.getWebviewById(b.options.webviewId);
                        a.setBounce({
                            offset: {
                                top: b.options.down.height + "px"
                            }
                        })
                    })
                },
                endPulldownToRefresh: function() {
                    var a = plus.webview.currentWebview();
                    a.parent().evalJS("mui&&mui(document.querySelector('.mui-content')).pullRefresh('" + JSON.stringify({
                        webviewId: a.id
                    }) + "')._endPulldownToRefresh()")
                },
                _endPulldownToRefresh: function() {
                    var a = this;
                    a.topPocket && a.options.webview && (a.options.webview.endPullToRefresh(), a.loading = !1, a._setCaption(a.options.down.contentdown, !0), setTimeout(function() {
                        a.loading || a.topPocket.classList.remove(f)
                    },
                    350))
                },
                pullupLoading: function(a) {
                    var b = this;
                    b.isLoading || (b.isLoading = !0, b.pulldown !== !1 ? b._initPullupRefresh() : this.pullPocket.classList.add(f), setTimeout(function() {
                        b.pullLoading.classList.add(d),
                        b.pullLoading.classList.remove(e),
                        b.pullCaption.innerHTML = "",
                        b.pullCaption.className = g + " " + i,
                        b.pullCaption.innerHTML = b.options.up.contentrefresh,
                        a = a || b.options.up.callback,
                        a && a.call(b)
                    },
                    300))
                },
                endPullupToRefresh: function(a) {
                    var c = this;
                    c.pullLoading && (c.pullLoading.classList.remove(d), c.pullLoading.classList.add(e), c.isLoading = !1, a ? (c.finished = !0, c.pullCaption.className = g + " " + j, c.pullCaption.innerHTML = c.options.up.contentnomore, b.removeEventListener("plusscrollbottom", c), window.removeEventListener("dragup", c)) : (c.pullCaption.className = g + " " + h, c.pullCaption.innerHTML = c.options.up.contentdown))
                },
                disablePullupToRefresh: function() {
                    this._initPullupRefresh(),
                    this.bottomPocket.className = "mui-pull-bottom-pocket " + e,
                    window.removeEventListener("dragup", this)
                },
                enablePullupToRefresh: function() {
                    this._initPullupRefresh(),
                    this.bottomPocket.classList.remove(e),
                    this.pullCaption.className = g + " " + h,
                    this.pullCaption.innerHTML = this.options.up.contentdown,
                    b.addEventListener("plusscrollbottom", this),
                    window.addEventListener("dragup", this)
                },
                scrollTo: function(b, c, d) {
                    a.scrollTo(c, d)
                },
                scrollToBottom: function(c) {
                    a.scrollTo(b.documentElement.scrollHeight, c)
                },
                refresh: function(a) {
                    a && this.finished && (this.enablePullupToRefresh(), this.finished = !1)
                }
            },
            a.PullRefresh));
            a.fn.pullRefresh = function(d) {
                var e;
                0 === this.length ? (e = b.createElement("div"), e.className = "mui-content", b.body.appendChild(e)) : e = this[0];
                var f = d;
                d = d || {},
                "string" == typeof d && (d = a.parseJSON(d)),
                !d.webviewId && (d.webviewId = plus.webview.currentWebview().id || plus.webview.currentWebview().getURL());
                var g = null,
                h = d.webviewId && d.webviewId.replace(/\//g, "_"),
                i = e.getAttribute("data-pullrefresh-plus-" + h);
                return i || "undefined" != typeof f ? (i ? g = a.data[i] : (i = ++a.uuid, e.setAttribute("data-pullrefresh-plus-" + h, i), b.body.classList.add(c), a.data[i] = g = new k(e, d)), d.down && d.down.auto ? g._pulldownLoading() : d.up && d.up.auto && g.pullupLoading(), g) : !1
            }
        }
    })
} (mui, document),
function(a, b, c, d) {
    var e = "mui-off-canvas-left",
    f = "mui-off-canvas-right",
    g = "mui-off-canvas-backdrop",
    h = "mui-off-canvas-wrap",
    i = "mui-slide-in",
    j = "mui-active",
    k = "mui-transitioning",
    l = ".mui-inner-wrap",
    m = a.Class.extend({
        init: function(b, d) {
            this.wrapper = this.element = b,
            this.scroller = this.wrapper.querySelector(l),
            this.classList = this.wrapper.classList,
            this.scroller && (this.options = a.extend(!0, {
                dragThresholdX: 10,
                scale: .8,
                opacity: .1,
                preventDefaultException: {
                    tagName: /^(INPUT|TEXTAREA|BUTTON|SELECT|VIDEO)$/
                }
            },
            d), c.body.classList.add("mui-fullscreen"), this.refresh(), this.initEvent())
        },
        _preventDefaultException: function(a, b) {
            for (var c in b) if (b[c].test(a[c])) return ! 0;
            return ! 1
        },
        refresh: function(a) {
            this.slideIn = this.classList.contains(i),
            this.scalable = this.classList.contains("mui-scalable") && !this.slideIn,
            this.scroller = this.wrapper.querySelector(l),
            this.offCanvasLefts = this.wrapper.querySelectorAll("." + e),
            this.offCanvasRights = this.wrapper.querySelectorAll("." + f),
            a ? a.classList.contains(e) ? this.offCanvasLeft = a: a.classList.contains(f) && (this.offCanvasRight = a) : (this.offCanvasRight = this.wrapper.querySelector("." + f), this.offCanvasLeft = this.wrapper.querySelector("." + e)),
            this.offCanvasRightWidth = this.offCanvasLeftWidth = 0,
            this.offCanvasLeftSlideIn = this.offCanvasRightSlideIn = !1,
            this.offCanvasRight && (this.offCanvasRightWidth = this.offCanvasRight.offsetWidth, this.offCanvasRightSlideIn = this.slideIn && this.offCanvasRight.parentNode === this.wrapper),
            this.offCanvasLeft && (this.offCanvasLeftWidth = this.offCanvasLeft.offsetWidth, this.offCanvasLeftSlideIn = this.slideIn && this.offCanvasLeft.parentNode === this.wrapper),
            this.backdrop = this.scroller.querySelector("." + g),
            this.options.dragThresholdX = this.options.dragThresholdX || 10,
            this.visible = !1,
            this.startX = null,
            this.lastX = null,
            this.offsetX = null,
            this.lastTranslateX = null
        },
        handleEvent: function(b) {
            switch (b.type) {
            case a.EVENT_START:
                b.target && !this._preventDefaultException(b.target, this.options.preventDefaultException) && b.preventDefault();
                break;
            case "webkitTransitionEnd":
                b.target === this.scroller && this._dispatchEvent();
                break;
            case "drag":
                var c = b.detail;
                this.startX ? this.lastX = c.center.x: (this.startX = c.center.x, this.lastX = this.startX),
                !this.isDragging && Math.abs(this.lastX - this.startX) > this.options.dragThresholdX && ("left" === c.direction || "right" === c.direction) && (this.slideIn ? (this.scroller = this.wrapper.querySelector(l), this.classList.contains(j) ? this.offCanvasRight && this.offCanvasRight.classList.contains(j) ? (this.offCanvas = this.offCanvasRight, this.offCanvasWidth = this.offCanvasRightWidth) : (this.offCanvas = this.offCanvasLeft, this.offCanvasWidth = this.offCanvasLeftWidth) : "left" === c.direction && this.offCanvasRight ? (this.offCanvas = this.offCanvasRight, this.offCanvasWidth = this.offCanvasRightWidth) : "right" === c.direction && this.offCanvasLeft ? (this.offCanvas = this.offCanvasLeft, this.offCanvasWidth = this.offCanvasLeftWidth) : this.scroller = null) : this.classList.contains(j) ? "left" === c.direction ? (this.offCanvas = this.offCanvasLeft, this.offCanvasWidth = this.offCanvasLeftWidth) : (this.offCanvas = this.offCanvasRight, this.offCanvasWidth = this.offCanvasRightWidth) : "right" === c.direction ? (this.offCanvas = this.offCanvasLeft, this.offCanvasWidth = this.offCanvasLeftWidth) : (this.offCanvas = this.offCanvasRight, this.offCanvasWidth = this.offCanvasRightWidth), this.offCanvas && this.scroller && (this.startX = this.lastX, this.isDragging = !0, a.gestures.session.lockDirection = !0, a.gestures.session.startDirection = c.direction, this.offCanvas.classList.remove(k), this.scroller.classList.remove(k), this.offsetX = this.getTranslateX(), this._initOffCanvasVisible())),
                this.isDragging && (this.updateTranslate(this.offsetX + (this.lastX - this.startX)), c.gesture.preventDefault(), b.stopPropagation());
                break;
            case "dragend":
                if (this.isDragging) {
                    var c = b.detail,
                    d = c.direction;
                    this.isDragging = !1,
                    this.offCanvas.classList.add(k),
                    this.scroller.classList.add(k);
                    var e = 0,
                    f = this.getTranslateX();
                    if (this.slideIn) {
                        if (e = f >= 0 ? this.offCanvasRightWidth && f / this.offCanvasRightWidth || 0 : this.offCanvasLeftWidth && f / this.offCanvasLeftWidth || 0, "right" === d && 0 >= e && (e >= -.5 || c.swipe) ? this.openPercentage(100) : "right" === d && e > 0 && (e >= .5 || c.swipe) ? this.openPercentage(0) : "right" === d && -.5 >= e ? this.openPercentage(0) : "right" === d && e > 0 && .5 >= e ? this.openPercentage( - 100) : "left" === d && e >= 0 && (.5 >= e || c.swipe) ? this.openPercentage( - 100) : "left" === d && 0 > e && ( - .5 >= e || c.swipe) ? this.openPercentage(0) : "left" === d && e >= .5 ? this.openPercentage(0) : "left" === d && e >= -.5 && 0 > e ? this.openPercentage(100) : this.openPercentage(0), 1 === e || -1 === e || 0 === e) return void this._dispatchEvent()
                    } else {
                        if (e = f >= 0 ? this.offCanvasLeftWidth && f / this.offCanvasLeftWidth || 0 : this.offCanvasRightWidth && f / this.offCanvasRightWidth || 0, 0 === e) return this.openPercentage(0),
                        void this._dispatchEvent();
                        "right" === d && e >= 0 && (e >= .5 || c.swipe) ? this.openPercentage(100) : "right" === d && 0 > e && (e > -.5 || c.swipe) ? this.openPercentage(0) : "right" === d && e > 0 && .5 > e ? this.openPercentage(0) : "right" === d && .5 > e ? this.openPercentage( - 100) : "left" === d && 0 >= e && ( - .5 >= e || c.swipe) ? this.openPercentage( - 100) : "left" === d && e > 0 && (.5 >= e || c.swipe) ? this.openPercentage(0) : "left" === d && 0 > e && e >= -.5 ? this.openPercentage(0) : "left" === d && e > .5 ? this.openPercentage(100) : this.openPercentage(0),
                        (1 === e || -1 === e) && this._dispatchEvent()
                    }
                }
            }
        },
        _dispatchEvent: function() {
            this.classList.contains(j) ? a.trigger(this.wrapper, "shown", this) : a.trigger(this.wrapper, "hidden", this)
        },
        _initOffCanvasVisible: function() {
            this.visible || (this.visible = !0, this.offCanvasLeft && (this.offCanvasLeft.style.visibility = "visible"), this.offCanvasRight && (this.offCanvasRight.style.visibility = "visible"))
        },
        initEvent: function() {
            var b = this;
            b.backdrop && b.backdrop.addEventListener("tap",
            function(a) {
                b.close(),
                a.detail.gesture.preventDefault()
            }),
            this.classList.contains("mui-draggable") && (this.wrapper.addEventListener(a.EVENT_START, this), this.wrapper.addEventListener("drag", this), this.wrapper.addEventListener("dragend", this)),
            this.wrapper.addEventListener("webkitTransitionEnd", this)
        },
        openPercentage: function(a) {
            var b = a / 100;
            this.slideIn ? (this.offCanvasLeft && a >= 0 ? (b = 0 === b ? -1 : 0, this.updateTranslate(this.offCanvasLeftWidth * b), this.offCanvasLeft.classList[0 !== a ? "add": "remove"](j)) : this.offCanvasRight && 0 >= a && (b = 0 === b ? 1 : 0, this.updateTranslate(this.offCanvasRightWidth * b), this.offCanvasRight.classList[0 !== a ? "add": "remove"](j)), this.classList[0 !== a ? "add": "remove"](j)) : (this.offCanvasLeft && a >= 0 ? (this.updateTranslate(this.offCanvasLeftWidth * b), this.offCanvasLeft.classList[0 !== b ? "add": "remove"](j)) : this.offCanvasRight && 0 >= a && (this.updateTranslate(this.offCanvasRightWidth * b), this.offCanvasRight.classList[0 !== b ? "add": "remove"](j)), this.classList[0 !== b ? "add": "remove"](j))
        },
        updateTranslate: function(b) {
            if (b !== this.lastTranslateX) {
                if (this.slideIn) {
                    if (this.offCanvas.classList.contains(f)) {
                        if (0 > b) return void this.setTranslateX(0);
                        if (b > this.offCanvasRightWidth) return void this.setTranslateX(this.offCanvasRightWidth)
                    } else {
                        if (b > 0) return void this.setTranslateX(0);
                        if (b < -this.offCanvasLeftWidth) return void this.setTranslateX( - this.offCanvasLeftWidth)
                    }
                    this.setTranslateX(b)
                } else {
                    if (!this.offCanvasLeft && b > 0 || !this.offCanvasRight && 0 > b) return void this.setTranslateX(0);
                    if (this.leftShowing && b > this.offCanvasLeftWidth) return void this.setTranslateX(this.offCanvasLeftWidth);
                    if (this.rightShowing && b < -this.offCanvasRightWidth) return void this.setTranslateX( - this.offCanvasRightWidth);
                    this.setTranslateX(b),
                    b >= 0 ? (this.leftShowing = !0, this.rightShowing = !1, b > 0 && (this.offCanvasLeft && a.each(this.offCanvasLefts,
                    function(a, b) {
                        b === this.offCanvasLeft ? this.offCanvasLeft.style.zIndex = 0 : b.style.zIndex = -1
                    }.bind(this)), this.offCanvasRight && (this.offCanvasRight.style.zIndex = -1))) : (this.rightShowing = !0, this.leftShowing = !1, this.offCanvasRight && a.each(this.offCanvasRights,
                    function(a, b) {
                        b === this.offCanvasRight ? b.style.zIndex = 0 : b.style.zIndex = -1
                    }.bind(this)), this.offCanvasLeft && (this.offCanvasLeft.style.zIndex = -1))
                }
                this.lastTranslateX = b
            }
        },
        setTranslateX: a.animationFrame(function(a) {
            if (this.scroller) if (this.scalable && this.offCanvas.parentNode === this.wrapper) {
                var b = Math.abs(a) / this.offCanvasWidth,
                c = 1 - (1 - this.options.scale) * b,
                d = this.options.scale + (1 - this.options.scale) * b,
                f = (1 - (1 - this.options.opacity) * b, this.options.opacity + (1 - this.options.opacity) * b);
                this.offCanvas.classList.contains(e) ? (this.offCanvas.style.webkitTransformOrigin = "-100%", this.scroller.style.webkitTransformOrigin = "left") : (this.offCanvas.style.webkitTransformOrigin = "200%", this.scroller.style.webkitTransformOrigin = "right"),
                this.offCanvas.style.opacity = f,
                this.offCanvas.style.webkitTransform = "translate3d(0,0,0) scale(" + d + ")",
                this.scroller.style.webkitTransform = "translate3d(" + a + "px,0,0) scale(" + c + ")"
            } else this.slideIn ? this.offCanvas.style.webkitTransform = "translate3d(" + a + "px,0,0)": this.scroller.style.webkitTransform = "translate3d(" + a + "px,0,0)"
        }),
        getTranslateX: function() {
            if (this.offCanvas) {
                var b = this.slideIn ? this.offCanvas: this.scroller,
                c = a.parseTranslateMatrix(a.getStyles(b, "webkitTransform"));
                return c && c.x || 0
            }
            return 0
        },
        isShown: function(a) {
            var b = !1;
            if (this.slideIn) b = "left" === a ? this.classList.contains(j) && this.wrapper.querySelector("." + e + "." + j) : "right" === a ? this.classList.contains(j) && this.wrapper.querySelector("." + f + "." + j) : this.classList.contains(j) && (this.wrapper.querySelector("." + e + "." + j) || this.wrapper.querySelector("." + f + "." + j));
            else {
                var c = this.getTranslateX();
                b = "right" === a ? this.classList.contains(j) && 0 > c: "left" === a ? this.classList.contains(j) && c > 0 : this.classList.contains(j) && 0 !== c
            }
            return b
        },
        close: function() {
            this._initOffCanvasVisible(),
            this.offCanvas = this.wrapper.querySelector("." + f + "." + j) || this.wrapper.querySelector("." + e + "." + j),
            this.offCanvasWidth = this.offCanvas.offsetWidth,
            this.scroller && (this.offCanvas.offsetHeight, this.offCanvas.classList.add(k), this.scroller.classList.add(k), this.openPercentage(0))
        },
        show: function(a) {
            return this._initOffCanvasVisible(),
            this.isShown(a) ? !1 : (a || (a = this.wrapper.querySelector("." + f) ? "right": "left"), "right" === a ? (this.offCanvas = this.offCanvasRight, this.offCanvasWidth = this.offCanvasRightWidth) : (this.offCanvas = this.offCanvasLeft, this.offCanvasWidth = this.offCanvasLeftWidth), this.scroller && (this.offCanvas.offsetHeight, this.offCanvas.classList.add(k), this.scroller.classList.add(k), this.openPercentage("left" === a ? 100 : -100)), !0)
        },
        toggle: function(a) {
            var b = a;
            a && a.classList && (b = a.classList.contains(e) ? "left": "right", this.refresh(a)),
            this.show(b) || this.close()
        }
    }),
    n = function(a) {
        if (parentNode = a.parentNode, parentNode) {
            if (parentNode.classList.contains(h)) return parentNode;
            if (parentNode = parentNode.parentNode, parentNode.classList.contains(h)) return parentNode
        }
    },
    o = function(b, d) {
        if ("A" === d.tagName && d.hash) {
            var e = c.getElementById(d.hash.replace("#", ""));
            if (e) {
                var f = n(e);
                if (f) return a.targets._container = f,
                e
            }
        }
        return ! 1
    };
    a.registerTarget({
        name: d,
        index: 60,
        handle: o,
        target: !1,
        isReset: !1,
        isContinue: !0
    }),
    b.addEventListener("tap",
    function(b) {
        if (a.targets.offcanvas) for (var d = b.target; d && d !== c; d = d.parentNode) if ("A" === d.tagName && d.hash && d.hash === "#" + a.targets.offcanvas.id) {
            b.detail && b.detail.gesture && b.detail.gesture.preventDefault(),
            a(a.targets._container).offCanvas().toggle(a.targets.offcanvas),
            a.targets.offcanvas = a.targets._container = null;
            break
        }
    }),
    a.fn.offCanvas = function(b) {
        var c = [];
        return this.each(function() {
            var d = null,
            e = this;
            e.classList.contains(h) || (e = n(e));
            var f = e.getAttribute("data-offCanvas");
            f ? d = a.data[f] : (f = ++a.uuid, a.data[f] = d = new m(e, b), e.setAttribute("data-offCanvas", f)),
            ("show" === b || "close" === b || "toggle" === b) && d.toggle(),
            c.push(d)
        }),
        1 === c.length ? c[0] : c
    },
    a.ready(function() {
        a(".mui-off-canvas-wrap").offCanvas()
    })
} (mui, window, document, "offcanvas"),
function(a, b) {
    var c = "mui-action",
    d = function(a, b) {
        var d = b.className || "";
        return "string" != typeof d && (d = ""),
        d && ~d.indexOf(c) ? (b.classList.contains("mui-action-back") && a.preventDefault(), b) : !1
    };
    a.registerTarget({
        name: b,
        index: 50,
        handle: d,
        target: !1,
        isContinue: !0
    })
} (mui, "action"),
function(a, b, c, d) {
    var e = "mui-modal",
    f = function(a, b) {
        if ("A" === b.tagName && b.hash) {
            var d = c.getElementById(b.hash.replace("#", ""));
            if (d && d.classList.contains(e)) return d
        }
        return ! 1
    };
    a.registerTarget({
        name: d,
        index: 50,
        handle: f,
        target: !1,
        isReset: !1,
        isContinue: !0
    }),
    b.addEventListener("tap",
    function(b) {
        a.targets.modal && (b.detail.gesture.preventDefault(), a.targets.modal.classList.toggle("mui-active"))
    })
} (mui, window, document, "modal"),
function(a, b, c, d) {
    var e = "mui-popover",
    f = "mui-popover-arrow",
    g = "mui-popover-action",
    h = "mui-backdrop",
    i = "mui-bar-popover",
    j = "mui-bar-backdrop",
    k = "mui-backdrop-action",
    l = "mui-active",
    m = "mui-bottom",
    n = function(b, d) {
        if ("A" === d.tagName && d.hash) {
            if (a.targets._popover = c.getElementById(d.hash.replace("#", "")), a.targets._popover && a.targets._popover.classList.contains(e)) return d;
            a.targets._popover = null
        }
        return ! 1
    };
    a.registerTarget({
        name: d,
        index: 60,
        handle: n,
        target: !1,
        isReset: !1,
        isContinue: !0
    });
    var o, p = function(a) {},
    q = function(b) {
        this.removeEventListener("webkitTransitionEnd", q),
        this.addEventListener(a.EVENT_MOVE, a.preventDefault),
        a.trigger(this, "shown", this)
    },
    r = function(b) {
        v(this, "none"),
        this.removeEventListener("webkitTransitionEnd", r),
        this.removeEventListener(a.EVENT_MOVE, a.preventDefault),
        p(!1),
        a.trigger(this, "hidden", this)
    },
    s = function() {
        var b = c.createElement("div");
        return b.classList.add(h),
        b.addEventListener(a.EVENT_MOVE, a.preventDefault),
        b.addEventListener("tap",
        function(b) {
            var d = a.targets._popover;
            d && (d.addEventListener("webkitTransitionEnd", r), d.classList.remove(l), t(d), c.body.setAttribute("style", ""))
        }),
        b
    } (),
    t = function(b) {
        s.setAttribute("style", "opacity:0"),
        a.targets.popover = a.targets._popover = null,
        o = a.later(function() { ! b.classList.contains(l) && s.parentNode && s.parentNode === c.body && c.body.removeChild(s)
        },
        350)
    };
    b.addEventListener("tap",
    function(b) {
        if (a.targets.popover) {
            for (var d = !1,
            e = b.target; e && e !== c; e = e.parentNode) e === a.targets.popover && (d = !0);
            d && (b.detail.gesture.preventDefault(), u(a.targets._popover, a.targets.popover))
        }
    });
    var u = function(a, b, d) {
        if (! ("show" === d && a.classList.contains(l) || "hide" === d && !a.classList.contains(l))) {
            o && o.cancel(),
            a.removeEventListener("webkitTransitionEnd", q),
            a.removeEventListener("webkitTransitionEnd", r),
            s.classList.remove(j),
            s.classList.remove(k);
            var e = c.querySelector(".mui-popover.mui-active");
            if (e && (e.addEventListener("webkitTransitionEnd", r), e.classList.remove(l), a === e)) return void t(e);
            var f = !1; (a.classList.contains(i) || a.classList.contains(g)) && (a.classList.contains(g) ? (f = !0, s.classList.add(k)) : s.classList.add(j)),
            v(a, "block"),
            a.offsetHeight,
            a.classList.add(l),
            s.setAttribute("style", ""),
            c.body.appendChild(s),
            p(!0),
            w(a, b, f),
            s.classList.add(l),
            a.addEventListener("webkitTransitionEnd", q)
        }
    },
    v = function(a, b, c, d) {
        var e = a.style;
        "undefined" != typeof b && (e.display = b),
        "undefined" != typeof c && (e.top = c + "px"),
        "undefined" != typeof d && (e.left = d + "px")
    },
    w = function(d, e, h) {
        if (d && e) {
            if (h) return void v(d, "block");
            var i = b.innerWidth,
            j = b.innerHeight,
            k = d.offsetWidth,
            l = d.offsetHeight,
            n = e.offsetWidth,
            o = e.offsetHeight,
            p = a.offset(e),
            q = d.querySelector("." + f);
            q || (q = c.createElement("div"), q.className = f, d.appendChild(q));
            var r = q && q.offsetWidth / 2 || 0,
            s = 0,
            t = 0,
            u = 0,
            w = 0,
            x = d.classList.contains(g) ? 0 : 5,
            y = "top";
            l + r < p.top - b.pageYOffset ? s = p.top - l - r: l + r < j - (p.top - b.pageYOffset) - o ? (y = "bottom", s = p.top + o + r) : (y = "middle", s = Math.max((j - l) / 2 + b.pageYOffset, 0), t = Math.max((i - k) / 2 + b.pageXOffset, 0)),
            "top" === y || "bottom" === y ? (t = n / 2 + p.left - k / 2, u = t, x > t && (t = x), t + k > i && (t = i - k - x), q && ("top" === y ? q.classList.add(m) : q.classList.remove(m), u -= t, w = k / 2 - r / 2 + u, w = Math.max(Math.min(w, k - 2 * r - 6), 6), q.setAttribute("style", "left:" + w + "px"))) : "middle" === y && q.setAttribute("style", "display:none"),
            v(d, "block", s, t)
        }
    };
    a.createMask = function(b) {
        var d = c.createElement("div");
        d.classList.add(h),
        d.addEventListener(a.EVENT_MOVE, a.preventDefault),
        d.addEventListener("tap",
        function() {
            e.close()
        });
        var e = [d];
        return e._show = !1,
        e.show = function() {
            return e._show = !0,
            d.setAttribute("style", "opacity:1"),
            c.body.appendChild(d),
            e
        },
        e._remove = function() {
            return e._show && (e._show = !1, d.setAttribute("style", "opacity:0"), a.later(function() {
                var a = c.body;
                d.parentNode === a && a.removeChild(d)
            },
            350)),
            e
        },
        e.close = function() {
            b ? b() !== !1 && e._remove() : e._remove()
        },
        e
    },
    a.fn.popover = function() {
        var b = arguments;
        this.each(function() {
            a.targets._popover = this,
            ("show" === b[0] || "hide" === b[0] || "toggle" === b[0]) && u(this, b[1], b[0])
        })
    }
} (mui, window, document, "popover"),
function(a, b, c, d, e) {
    var f = "mui-control-item",
    g = "mui-segmented-control",
    h = "mui-segmented-control-vertical",
    i = "mui-control-content",
    j = "mui-bar-tab",
    k = "mui-tab-item",
    l = function(a, b) {
        return b.classList && (b.classList.contains(f) || b.classList.contains(k)) ? (b.parentNode && b.parentNode.classList && b.parentNode.classList.contains(h) || a.preventDefault(), b) : !1
    };
    a.registerTarget({
        name: d,
        index: 80,
        handle: l,
        target: !1
    }),
    b.addEventListener("tap",
    function(b) {
        var e = a.targets.tab;
        if (e) {
            for (var h, l, m, n = "mui-active",
            o = "." + n,
            p = e.parentNode; p && p !== c; p = p.parentNode) {
                if (p.classList.contains(g)) {
                    h = p.querySelector(o + "." + f);
                    break
                }
                p.classList.contains(j) && (h = p.querySelector(o + "." + k))
            }
            h && h.classList.remove(n);
            var q = e === h;
            if (e && e.classList.add(n), e.hash && (m = c.getElementById(e.hash.replace("#", "")))) {
                if (!m.classList.contains(i)) return void e.classList[q ? "remove": "add"](n);
                if (!q) {
                    var r = m.parentNode;
                    l = r.querySelectorAll("." + i + o);
                    for (var s = 0; s < l.length; s++) {
                        var t = l[s];
                        t.parentNode === r && t.classList.remove(n)
                    }
                    m.classList.add(n);
                    for (var u = [], v = r.querySelectorAll("." + i), s = 0; s < v.length; s++) v[s].parentNode === r && u.push(v[s]);
                    a.trigger(m, a.eventName("shown", d), {
                        tabNumber: Array.prototype.indexOf.call(u, m)
                    }),
                    b.detail && b.detail.gesture.preventDefault()
                }
            }
        }
    })
} (mui, window, document, "tab"),
function(a, b, c) {
    var d = "mui-switch",
    e = "mui-switch-handle",
    f = "mui-active",
    g = "mui-dragging",
    h = "mui-disabled",
    i = "." + e,
    j = function(a, b) {
        return b.classList && b.classList.contains(d) ? b: !1
    };
    a.registerTarget({
        name: c,
        index: 100,
        handle: j,
        target: !1
    });
    var k = function(a) {
        this.element = a,
        this.classList = this.element.classList,
        this.handle = this.element.querySelector(i),
        this.init(),
        this.initEvent()
    };
    k.prototype.init = function() {
        this.toggleWidth = this.element.offsetWidth,
        this.handleWidth = this.handle.offsetWidth,
        this.handleX = this.toggleWidth - this.handleWidth - 3
    },
    k.prototype.initEvent = function() {
        this.element.addEventListener(a.EVENT_START, this),
        this.element.addEventListener("drag", this),
        this.element.addEventListener("swiperight", this),
        this.element.addEventListener(a.EVENT_END, this),
        this.element.addEventListener(a.EVENT_CANCEL, this)
    },
    k.prototype.handleEvent = function(b) {
        if (!this.classList.contains(h)) switch (b.type) {
        case a.EVENT_START:
            this.start(b);
            break;
        case "drag":
            this.drag(b);
            break;
        case "swiperight":
            this.swiperight();
            break;
        case a.EVENT_END:
        case a.EVENT_CANCEL:
            this.end(b)
        }
    },
    k.prototype.start = function(a) {
        this.handle.style.webkitTransitionDuration = this.element.style.webkitTransitionDuration = ".2s",
        this.classList.add(g),
        (0 === this.toggleWidth || 0 === this.handleWidth) && this.init()
    },
    k.prototype.drag = function(a) {
        var b = a.detail;
        this.isDragging || ("left" === b.direction || "right" === b.direction) && (this.isDragging = !0, this.lastChanged = void 0, this.initialState = this.classList.contains(f)),
        this.isDragging && (this.setTranslateX(b.deltaX), a.stopPropagation(), b.gesture.preventDefault())
    },
    k.prototype.swiperight = function(a) {
        this.isDragging && a.stopPropagation()
    },
    k.prototype.end = function(b) {
        this.classList.remove(g),
        this.isDragging ? (this.isDragging = !1, b.stopPropagation(), a.trigger(this.element, "toggle", {
            isActive: this.classList.contains(f)
        })) : this.toggle()
    },
    k.prototype.toggle = function(b) {
        var c = this.classList;
        b === !1 ? this.handle.style.webkitTransitionDuration = this.element.style.webkitTransitionDuration = "0s": this.handle.style.webkitTransitionDuration = this.element.style.webkitTransitionDuration = ".2s",
        c.contains(f) ? (c.remove(f), this.handle.style.webkitTransform = "translate(0,0)") : (c.add(f), this.handle.style.webkitTransform = "translate(" + this.handleX + "px,0)"),
        a.trigger(this.element, "toggle", {
            isActive: this.classList.contains(f)
        })
    },
    k.prototype.setTranslateX = a.animationFrame(function(a) {
        if (this.isDragging) {
            var b = !1; (this.initialState && -a > this.handleX / 2 || !this.initialState && a > this.handleX / 2) && (b = !0),
            this.lastChanged !== b && (b ? (this.handle.style.webkitTransform = "translate(" + (this.initialState ? 0 : this.handleX) + "px,0)", this.classList[this.initialState ? "remove": "add"](f)) : (this.handle.style.webkitTransform = "translate(" + (this.initialState ? this.handleX: 0) + "px,0)", this.classList[this.initialState ? "add": "remove"](f)), this.lastChanged = b)
        }
    }),
    a.fn["switch"] = function(b) {
        var c = [];
        return this.each(function() {
            var b = null,
            d = this.getAttribute("data-switch");
            d ? b = a.data[d] : (d = ++a.uuid, a.data[d] = new k(this), this.setAttribute("data-switch", d)),
            c.push(b)
        }),
        c.length > 1 ? c: c[0]
    },
    a.ready(function() {
        a("." + d)["switch"]()
    })
} (mui, window, "toggle"),
function(a, b, c) {
    function d(a, b) {
        var c = b ? "removeEventListener": "addEventListener";
        a[c]("drag", F),
        a[c]("dragend", F),
        a[c]("swiperight", F),
        a[c]("swipeleft", F),
        a[c]("flick", F)
    }
    var e, f, g = "mui-active",
    h = "mui-selected",
    i = "mui-grid-view",
    j = "mui-table-view-radio",
    k = "mui-table-view-cell",
    l = "mui-collapse-content",
    m = "mui-disabled",
    n = "mui-switch",
    o = "mui-btn",
    p = "mui-slider-handle",
    q = "mui-slider-left",
    r = "mui-slider-right",
    s = "mui-transitioning",
    t = "." + p,
    u = "." + q,
    v = "." + r,
    w = "." + h,
    x = "." + o,
    y = .8,
    z = isOpened = openedActions = progress = !1,
    A = sliderActionLeft = sliderActionRight = buttonsLeft = buttonsRight = sliderDirection = sliderRequestAnimationFrame = !1,
    B = translateX = lastTranslateX = sliderActionLeftWidth = sliderActionRightWidth = 0,
    C = function(a) {
        a ? f ? f.classList.add(g) : e && e.classList.add(g) : (B && B.cancel(), f ? f.classList.remove(g) : e && e.classList.remove(g))
    },
    D = function() {
        if (translateX !== lastTranslateX) {
            if (buttonsRight && buttonsRight.length > 0) {
                progress = translateX / sliderActionRightWidth,
                translateX < -sliderActionRightWidth && (translateX = -sliderActionRightWidth - Math.pow( - translateX - sliderActionRightWidth, y));
                for (var a = 0,
                b = buttonsRight.length; b > a; a++) {
                    var c = buttonsRight[a];
                    "undefined" == typeof c._buttonOffset && (c._buttonOffset = c.offsetLeft),
                    buttonOffset = c._buttonOffset,
                    E(c, translateX - buttonOffset * (1 + Math.max(progress, -1)))
                }
            }
            if (buttonsLeft && buttonsLeft.length > 0) {
                progress = translateX / sliderActionLeftWidth,
                translateX > sliderActionLeftWidth && (translateX = sliderActionLeftWidth + Math.pow(translateX - sliderActionLeftWidth, y));
                for (var a = 0,
                b = buttonsLeft.length; b > a; a++) {
                    var d = buttonsLeft[a];
                    "undefined" == typeof d._buttonOffset && (d._buttonOffset = sliderActionLeftWidth - d.offsetLeft - d.offsetWidth),
                    buttonOffset = d._buttonOffset,
                    buttonsLeft.length > 1 && (d.style.zIndex = buttonsLeft.length - a),
                    E(d, translateX + buttonOffset * (1 - Math.min(progress, 1)))
                }
            }
            E(A, translateX),
            lastTranslateX = translateX
        }
        sliderRequestAnimationFrame = requestAnimationFrame(function() {
            D()
        })
    },
    E = function(a, b) {
        a && (a.style.webkitTransform = "translate(" + b + "px,0)")
    };
    b.addEventListener(a.EVENT_START,
    function(b) {
        e && C(!1),
        e = f = !1,
        z = isOpened = openedActions = !1;
        for (var g = b.target,
        h = !1; g && g !== c; g = g.parentNode) if (g.classList) {
            var p = g.classList;
            if (("INPUT" === g.tagName && "radio" !== g.type && "checkbox" !== g.type || "BUTTON" === g.tagName || p.contains(n) || p.contains(o) || p.contains(m)) && (h = !0), p.contains(l)) break;
            if (p.contains(k)) {
                e = g;
                var q = e.parentNode.querySelector(w);
                if (!e.parentNode.classList.contains(j) && q && q !== e) return a.swipeoutClose(q),
                void(e = h = !1);
                if (!e.parentNode.classList.contains(i)) {
                    var r = e.querySelector("a");
                    r && r.parentNode === e && (f = r)
                }
                var s = e.querySelector(t);
                s && (d(e), b.stopPropagation()),
                h || (s ? (B && B.cancel(), B = a.later(function() {
                    C(!0)
                },
                100)) : C(!0));
                break
            }
        }
    }),
    b.addEventListener(a.EVENT_MOVE,
    function(a) {
        C(!1)
    });
    var F = {
        handleEvent: function(a) {
            switch (a.type) {
            case "drag":
                this.drag(a);
                break;
            case "dragend":
                this.dragend(a);
                break;
            case "flick":
                this.flick(a);
                break;
            case "swiperight":
                this.swiperight(a);
                break;
            case "swipeleft":
                this.swipeleft(a)
            }
        },
        drag: function(a) {
            if (e) {
                z || (A = sliderActionLeft = sliderActionRight = buttonsLeft = buttonsRight = sliderDirection = sliderRequestAnimationFrame = !1, A = e.querySelector(t), A && (sliderActionLeft = e.querySelector(u), sliderActionRight = e.querySelector(v), sliderActionLeft && (sliderActionLeftWidth = sliderActionLeft.offsetWidth, buttonsLeft = sliderActionLeft.querySelectorAll(x)), sliderActionRight && (sliderActionRightWidth = sliderActionRight.offsetWidth, buttonsRight = sliderActionRight.querySelectorAll(x)), e.classList.remove(s), isOpened = e.classList.contains(h), isOpened && (openedActions = e.querySelector(u + w) ? "left": "right")));
                var b = a.detail,
                c = b.direction,
                d = b.angle;
                if ("left" === c && (d > 150 || -150 > d) ? (buttonsRight || buttonsLeft && isOpened) && (z = !0) : "right" === c && d > -30 && 30 > d && (buttonsLeft || buttonsRight && isOpened) && (z = !0), z) {
                    a.stopPropagation(),
                    a.detail.gesture.preventDefault();
                    var f = a.detail.deltaX;
                    if (isOpened && ("right" === openedActions ? f -= sliderActionRightWidth: f += sliderActionLeftWidth), f > 0 && !buttonsLeft || 0 > f && !buttonsRight) {
                        if (!isOpened) return;
                        f = 0
                    }
                    0 > f ? sliderDirection = "toLeft": f > 0 ? sliderDirection = "toRight": sliderDirection || (sliderDirection = "toLeft"),
                    sliderRequestAnimationFrame || D(),
                    translateX = f
                }
            }
        },
        flick: function(a) {
            z && a.stopPropagation()
        },
        swipeleft: function(a) {
            z && a.stopPropagation()
        },
        swiperight: function(a) {
            z && a.stopPropagation()
        },
        dragend: function(b) {
            if (z) {
                b.stopPropagation(),
                sliderRequestAnimationFrame && (cancelAnimationFrame(sliderRequestAnimationFrame), sliderRequestAnimationFrame = null);
                var c = b.detail;
                z = !1;
                var d = "close",
                f = "toLeft" === sliderDirection ? sliderActionRightWidth: sliderActionLeftWidth,
                g = c.swipe || Math.abs(translateX) > f / 2;
                g && (isOpened ? "left" === c.direction && "right" === openedActions ? d = "open": "right" === c.direction && "left" === openedActions && (d = "open") : d = "open"),
                e.classList.add(s);
                var i;
                if ("open" === d) {
                    var j = "toLeft" === sliderDirection ? -f: f;
                    if (E(A, j), i = "toLeft" === sliderDirection ? buttonsRight: buttonsLeft, "undefined" != typeof i) {
                        for (var k = null,
                        l = 0; l < i.length; l++) k = i[l],
                        E(k, j);
                        k.parentNode.classList.add(h),
                        e.classList.add(h),
                        isOpened || a.trigger(e, "toLeft" === sliderDirection ? "slideleft": "slideright")
                    }
                } else E(A, 0),
                sliderActionLeft && sliderActionLeft.classList.remove(h),
                sliderActionRight && sliderActionRight.classList.remove(h),
                e.classList.remove(h);
                var m;
                if (buttonsLeft && buttonsLeft.length > 0 && buttonsLeft !== i) for (var l = 0,
                n = buttonsLeft.length; n > l; l++) {
                    var o = buttonsLeft[l];
                    m = o._buttonOffset,
                    "undefined" == typeof m && (o._buttonOffset = sliderActionLeftWidth - o.offsetLeft - o.offsetWidth),
                    E(o, m)
                }
                if (buttonsRight && buttonsRight.length > 0 && buttonsRight !== i) for (var l = 0,
                n = buttonsRight.length; n > l; l++) {
                    var p = buttonsRight[l];
                    m = p._buttonOffset,
                    "undefined" == typeof m && (p._buttonOffset = p.offsetLeft),
                    E(p, -m)
                }
            }
        }
    };
    a.swipeoutOpen = function(b, c) {
        if (b) {
            var d = b.classList;
            if (!d.contains(h)) {
                c || (c = b.querySelector(v) ? "right": "left");
                var e = b.querySelector(a.classSelector(".slider-" + c));
                if (e) {
                    e.classList.add(h),
                    d.add(h),
                    d.remove(s);
                    for (var f, g = e.querySelectorAll(x), i = e.offsetWidth, j = "right" === c ? -i: i, k = g.length, l = 0; k > l; l++) f = g[l],
                    "right" === c ? E(f, -f.offsetLeft) : E(f, i - f.offsetWidth - f.offsetLeft);
                    d.add(s);
                    for (var l = 0; k > l; l++) E(g[l], j);
                    E(b.querySelector(t), j)
                }
            }
        }
    },
    a.swipeoutClose = function(b) {
        if (b) {
            var c = b.classList;
            if (c.contains(h)) {
                var d = b.querySelector(v + w) ? "right": "left",
                e = b.querySelector(a.classSelector(".slider-" + d));
                if (e) {
                    e.classList.remove(h),
                    c.remove(h),
                    c.add(s);
                    var f, g = e.querySelectorAll(x),
                    i = e.offsetWidth,
                    j = g.length;
                    E(b.querySelector(t), 0);
                    for (var k = 0; j > k; k++) f = g[k],
                    "right" === d ? E(f, -f.offsetLeft) : E(f, i - f.offsetWidth - f.offsetLeft)
                }
            }
        }
    },
    b.addEventListener(a.EVENT_END,
    function(a) {
        e && (C(!1), A && d(e, !0))
    }),
    b.addEventListener(a.EVENT_CANCEL,
    function(a) {
        e && (C(!1), A && d(e, !0))
    });
    var G = function(b) {
        var c = b.target && b.target.type || "";
        if ("radio" !== c && "checkbox" !== c) {
            var d = e.classList;
            if (d.contains("mui-radio")) {
                var f = e.querySelector("input[type=radio]");
                f && (f.disabled || f.readOnly || (f.checked = !f.checked, a.trigger(f, "change")))
            } else if (d.contains("mui-checkbox")) {
                var f = e.querySelector("input[type=checkbox]");
                f && (f.disabled || f.readOnly || (f.checked = !f.checked, a.trigger(f, "change")))
            }
        }
    };
    b.addEventListener(a.EVENT_CLICK,
    function(a) {
        e && e.classList.contains("mui-collapse") && a.preventDefault()
    }),
    b.addEventListener("doubletap",
    function(a) {
        e && G(a)
    });
    var H = /^(INPUT|TEXTAREA|BUTTON|SELECT)$/;
    b.addEventListener("tap",
    function(b) {
        if (e) {
            var c = !1,
            d = e.classList,
            f = e.parentNode;
            if (f && f.classList.contains(j)) {
                if (d.contains(h)) return;
                var i = f.querySelector("li" + w);
                return i && i.classList.remove(h),
                d.add(h),
                void a.trigger(e, "selected", {
                    el: e
                })
            }
            if (d.contains("mui-collapse") && !e.parentNode.classList.contains("mui-unfold")) {
                if (H.test(b.target.tagName) || b.detail.gesture.preventDefault(), !d.contains(g)) {
                    var k = e.parentNode.querySelector(".mui-collapse.mui-active");
                    k && k.classList.remove(g),
                    c = !0
                }
                d.toggle(g),
                c && a.trigger(e, "expand")
            } else G(b)
        }
    })
} (mui, window, document),
function(a, b) {
    a.alert = function(c, d, e, f) {
        if (a.os.plus) {
            if ("undefined" == typeof c) return;
            "function" == typeof d ? (f = d, d = null, e = "确定") : "function" == typeof e && (f = e, e = null),
            a.plusReady(function() {
                plus.nativeUI.alert(c, f, d, e)
            })
        } else b.alert(c)
    }
} (mui, window),
function(a, b) {
    a.confirm = function(c, d, e, f) {
        if (a.os.plus) {
            if ("undefined" == typeof c) return;
            "function" == typeof d ? (f = d, d = null, e = null) : "function" == typeof e && (f = e, e = null),
            a.plusReady(function() {
                plus.nativeUI.confirm(c, f, d, e)
            })
        } else f(b.confirm(c) ? {
            index: 0
        }: {
            index: 1
        })
    }
} (mui, window),
function(a, b) {
    a.prompt = function(c, d, e, f, g) {
        if (a.os.plus) {
            if ("undefined" == typeof message) return;
            "function" == typeof d ? (g = d, d = null, e = null, f = null) : "function" == typeof e ? (g = e, e = null, f = null) : "function" == typeof f && (g = f, f = null),
            a.plusReady(function() {
                plus.nativeUI.prompt(c, g, e, d, f)
            })
        } else {
            var h = b.prompt(c);
            g(h ? {
                index: 0,
                value: h
            }: {
                index: 1,
                value: ""
            })
        }
    }
} (mui, window),
function(a, b) {
    var c = "mui-active";
    a.toast = function(b, d) {
        var e = {
            "long": 3500,
            "short": 2e3
        };
        if (d = a.extend({
            duration: "short"
        },
        d || {}), !a.os.plus || "div" === d.type) {
            "number" == typeof d.duration ? duration = d.duration > 0 ? d.duration: e["short"] : duration = e[d.duration],
            duration || (duration = e["short"]);
            var f = document.createElement("div");
            return f.classList.add("mui-toast-container"),
            f.innerHTML = '<div class="mui-toast-message">' + b + "</div>",
            f.addEventListener("webkitTransitionEnd",
            function() {
                f.classList.contains(c) || (f.parentNode.removeChild(f), f = null)
            }),
            f.addEventListener("click",
            function() {
                f.parentNode.removeChild(f),
                f = null
            }),
            document.body.appendChild(f),
            f.offsetHeight,
            f.classList.add(c),
            setTimeout(function() {
                f && f.classList.remove(c)
            },
            duration),
            {
                isVisible: function() {
                    return !! f
                }
            }
        }
        a.plusReady(function() {
            plus.nativeUI.toast(b, {
                verticalAlign: "bottom",
                duration: d.duration
            })
        })
    }
} (mui, window),
function(a, b, c) {
    var d = "mui-popup",
    e = "mui-popup-backdrop",
    f = "mui-popup-in",
    g = "mui-popup-out",
    h = "mui-popup-inner",
    i = "mui-popup-title",
    j = "mui-popup-text",
    k = "mui-popup-input",
    l = "mui-popup-buttons",
    m = "mui-popup-button",
    n = "mui-popup-button-bold",
    e = "mui-popup-backdrop",
    o = "mui-active",
    p = [],
    q = function() {
        var b = c.createElement("div");
        return b.classList.add(e),
        b.addEventListener(a.EVENT_MOVE, a.preventDefault),
        b.addEventListener("webkitTransitionEnd",
        function() {
            this.classList.contains(o) || b.parentNode && b.parentNode.removeChild(b)
        }),
        b
    } (),
    r = function(a) {
        return '<div class="' + k + '"><input type="text" autofocus placeholder="' + (a || "") + '"/></div>'
    },
    s = function(a, b, c) {
        return '<div class="' + h + '"><div class="' + i + '">' + b + '</div><div class="' + j + '">' + a.replace(/\r\n/g, "<br/>").replace(/\n/g, "<br/>") + "</div>" + (c || "") + "</div>"
    },
    t = function(a) {
        for (var b = a.length,
        c = [], d = 0; b > d; d++) c.push('<span class="' + m + (d === b - 1 ? " " + n: "") + '">' + a[d] + "</span>");
        return '<div class="' + l + '">' + c.join("") + "</div>"
    },
    u = function(b, e) {
        var h = c.createElement("div");
        h.className = d,
        h.innerHTML = b;
        var i = function() {
            h.parentNode && h.parentNode.removeChild(h),
            h = null
        };
        h.addEventListener(a.EVENT_MOVE, a.preventDefault),
        h.addEventListener("webkitTransitionEnd",
        function(a) {
            h && a.target === h && h.classList.contains(g) && i()
        }),
        h.style.display = "block",
        c.body.appendChild(h),
        h.offsetHeight,
        h.classList.add(f),
        q.classList.contains(o) || (q.style.display = "block", c.body.appendChild(q), q.offsetHeight, q.classList.add(o));
        var j = a.qsa("." + m, h),
        l = h.querySelector("." + k + " input"),
        n = {
            element: h,
            close: function(a, b) {
                if (h) {
                    var c = e && e({
                        index: a || 0,
                        value: l && l.value || ""
                    });
                    if (c === !1) return;
                    b !== !1 ? (h.classList.remove(f), h.classList.add(g)) : i(),
                    p.pop(),
                    p.length ? p[p.length - 1].show(b) : q.classList.remove(o)
                }
            }
        },
        r = function(a) {
            n.close(j.indexOf(a.target))
        };
        return a(h).on("tap", "." + m, r),
        p.length && p[p.length - 1].hide(),
        p.push({
            close: n.close,
            show: function(a) {
                h.style.display = "block",
                h.offsetHeight,
                h.classList.add(f)
            },
            hide: function() {
                h.style.display = "none",
                h.classList.remove(f)
            }
        }),
        n
    },
    v = function(b, c, d, e, f) {
        return "undefined" != typeof b ? ("function" == typeof c ? (e = c, f = d, c = null, d = null) : "function" == typeof d && (f = e, e = d, d = null), a.os.plus && "div" !== f ? plus.nativeUI.alert(b, e, c || "提示", d || "确定") : u(s(b, c || "提示") + t([d || "确定"]), e)) : void 0
    },
    w = function(b, c, d, e, f) {
        return "undefined" != typeof b ? ("function" == typeof c ? (e = c, f = d, c = null, d = null) : "function" == typeof d && (f = e, e = d, d = null), a.os.plus && "div" !== f ? plus.nativeUI.confirm(b, e, c, d || ["取消", "确认"]) : u(s(b, c || "提示") + t(d || ["取消", "确认"]), e)) : void 0
    },
    x = function(b, c, d, e, f, g) {
        return "undefined" != typeof b ? ("function" == typeof c ? (f = c, g = d, c = null, d = null, e = null) : "function" == typeof d ? (f = d, g = e, d = null, e = null) : "function" == typeof e && (g = f, f = e, e = null), a.os.plus && "div" !== g ? plus.nativeUI.prompt(b, f, d || "提示", c, e || ["取消", "确认"]) : u(s(b, d || "提示", r(c)) + t(e || ["取消", "确认"]), f)) : void 0
    },
    y = function() {
        return p.length ? (p[p.length - 1].close(), !0) : !1
    },
    z = function() {
        for (; p.length;) p[p.length - 1].close()
    };
    a.closePopup = y,
    a.closePopups = z,
    a.alert = v,
    a.confirm = w,
    a.prompt = x
} (mui, window, document),
function(a, b) {
    var c = "mui-progressbar",
    d = "mui-progressbar-in",
    e = "mui-progressbar-out",
    f = "mui-progressbar-infinite",
    g = ".mui-progressbar",
    h = function(b) {
        if (b = a(b || "body"), 0 !== b.length) {
            if (b = b[0], b.classList.contains(c)) return b;
            var d = b.querySelectorAll(g);
            if (d) for (var e = 0,
            f = d.length; f > e; e++) {
                var h = d[e];
                if (h.parentNode === b) return h
            }
        }
    },
    i = function(h, i, j) {
        if ("number" == typeof h && (j = i, i = h, h = "body"), h = a(h || "body"), 0 !== h.length) {
            h = h[0];
            var l;
            if (h.classList.contains(c)) l = h;
            else {
                var m = h.querySelectorAll(g + ":not(." + e + ")");
                if (m) for (var n = 0,
                o = m.length; o > n; n++) {
                    var p = m[n];
                    if (p.parentNode === h) {
                        l = p;
                        break
                    }
                }
                l ? l.classList.add(d) : (l = b.createElement("span"), l.className = c + " " + d + ("undefined" != typeof i ? "": " " + f) + (j ? " " + c + "-" + j: ""), "undefined" != typeof i && (l.innerHTML = "<span></span>"), h.appendChild(l))
            }
            return i && k(h, i),
            l
        }
    },
    j = function(a) {
        var b = h(a);
        if (b) {
            var c = b.classList;
            c.contains(d) && !c.contains(e) && (c.remove(d), c.add(e), b.addEventListener("webkitAnimationEnd",
            function() {
                b.parentNode && b.parentNode.removeChild(b),
                b = null
            }))
        }
    },
    k = function(a, b, c) {
        "number" == typeof a && (c = b, b = a, a = !1);
        var d = h(a);
        if (d && !d.classList.contains(f)) {
            b && (b = Math.min(Math.max(b, 0), 100)),
            d.offsetHeight;
            var e = d.querySelector("span");
            if (e) {
                var g = e.style;
                g.webkitTransform = "translate3d(" + ( - 100 + b) + "%,0,0)",
                "undefined" != typeof c ? g.webkitTransitionDuration = c + "ms": g.webkitTransitionDuration = ""
            }
            return d
        }
    };
    a.fn.progressbar = function(a) {
        var b = [];
        return a = a || {},
        this.each(function() {
            var c = this,
            d = c.mui_plugin_progressbar;
            d ? a && d.setOptions(a) : c.mui_plugin_progressbar = d = {
                options: a,
                setOptions: function(a) {
                    this.options = a
                },
                show: function() {
                    return i(c, this.options.progress, this.options.color)
                },
                setProgress: function(a) {
                    return k(c, a)
                },
                hide: function() {
                    return j(c)
                }
            },
            b.push(d)
        }),
        1 === b.length ? b[0] : b
    }
} (mui, document),
function(a, b, c) {
    var d = "mui-icon",
    e = "mui-icon-clear",
    f = "mui-icon-speech",
    g = "mui-icon-search",
    h = "mui-icon-eye",
    i = "mui-input-row",
    j = "mui-placeholder",
    k = "mui-tooltip",
    l = "mui-hidden",
    m = "mui-focusin",
    n = "." + e,
    o = "." + f,
    p = "." + h,
    q = "." + j,
    r = "." + k,
    s = function(a) {
        for (; a && a !== c; a = a.parentNode) if (a.classList && a.classList.contains(i)) return a;
        return null
    },
    t = function(a, b) {
        this.element = a,
        this.options = b || {
            actions: "clear"
        },
        ~this.options.actions.indexOf("slider") ? (this.sliderActionClass = k + " " + l, this.sliderActionSelector = r) : (~this.options.actions.indexOf("clear") && (this.clearActionClass = d + " " + e + " " + l, this.clearActionSelector = n), ~this.options.actions.indexOf("speech") && (this.speechActionClass = d + " " + f, this.speechActionSelector = o), ~this.options.actions.indexOf("search") && (this.searchActionClass = j, this.searchActionSelector = q), ~this.options.actions.indexOf("password") && (this.passwordActionClass = d + " " + h, this.passwordActionSelector = p)),
        this.init()
    };
    t.prototype.init = function() {
        this.initAction(),
        this.initElementEvent()
    },
    t.prototype.initAction = function() {
        var b = this,
        c = b.element.parentNode;
        c && (b.sliderActionClass ? b.sliderAction = b.createAction(c, b.sliderActionClass, b.sliderActionSelector) : (b.searchActionClass && (b.searchAction = b.createAction(c, b.searchActionClass, b.searchActionSelector), b.searchAction.addEventListener("tap",
        function(c) {
            a.focus(b.element),
            c.stopPropagation()
        })), b.speechActionClass && (b.speechAction = b.createAction(c, b.speechActionClass, b.speechActionSelector), b.speechAction.addEventListener("click", a.stopPropagation), b.speechAction.addEventListener("tap",
        function(a) {
            b.speechActionClick(a)
        })), b.clearActionClass && (b.clearAction = b.createAction(c, b.clearActionClass, b.clearActionSelector), b.clearAction.addEventListener("tap",
        function(a) {
            b.clearActionClick(a)
        })), b.passwordActionClass && (b.passwordAction = b.createAction(c, b.passwordActionClass, b.passwordActionSelector), b.passwordAction.addEventListener("tap",
        function(a) {
            b.passwordActionClick(a)
        }))))
    },
    t.prototype.createAction = function(a, b, e) {
        var f = a.querySelector(e);
        if (!f) {
            var f = c.createElement("span");
            f.className = b,
            b === this.searchActionClass && (f.innerHTML = '<span class="' + d + " " + g + '"></span><span>' + this.element.getAttribute("placeholder") + "</span>", this.element.setAttribute("placeholder", ""), this.element.value.trim() && a.classList.add("mui-active")),
            a.insertBefore(f, this.element.nextSibling)
        }
        return f
    },
    t.prototype.initElementEvent = function() {
        var b = this.element;
        if (this.sliderActionClass) {
            var c = this.sliderAction,
            d = null,
            e = function() {
                c.classList.remove(l);
                var a = b.offsetLeft,
                e = b.offsetWidth - 28,
                f = c.offsetWidth,
                g = Math.abs(b.max - b.min),
                h = e / g * Math.abs(b.value - b.min);
                c.style.left = 14 + a + h - f / 2 + "px",
                c.innerText = b.value,
                d && clearTimeout(d),
                d = setTimeout(function() {
                    c.classList.add(l)
                },
                1e3)
            };
            b.addEventListener("input", e),
            b.addEventListener("tap", e),
            b.addEventListener(a.EVENT_MOVE,
            function(a) {
                a.stopPropagation()
            })
        } else {
            if (this.clearActionClass) {
                var f = this.clearAction;
                if (!f) return;
                a.each(["keyup", "change", "input", "focus", "cut", "paste"],
                function(a, c) { !
                    function(a) {
                        b.addEventListener(a,
                        function() {
                            f.classList[b.value.trim() ? "remove": "add"](l)
                        })
                    } (c)
                }),
                b.addEventListener("blur",
                function() {
                    f.classList.add(l)
                })
            }
            this.searchActionClass && (b.addEventListener("focus",
            function() {
                b.parentNode.classList.add("mui-active")
            }), b.addEventListener("blur",
            function() {
                b.value.trim() || b.parentNode.classList.remove("mui-active")
            }))
        }
    },
    t.prototype.setPlaceholder = function(a) {
        if (this.searchActionClass) {
            var b = this.element.parentNode.querySelector(q);
            b && (b.getElementsByTagName("span")[1].innerText = a)
        } else this.element.setAttribute("placeholder", a)
    },
    t.prototype.passwordActionClick = function(a) {
        "text" === this.element.type ? this.element.type = "password": this.element.type = "text",
        this.passwordAction.classList.toggle("mui-active"),
        a.preventDefault()
    },
    t.prototype.clearActionClick = function(b) {
        var c = this;
        c.element.value = "",
        a.focus(c.element),
        c.clearAction.classList.add(l),
        b.preventDefault()
    },
    t.prototype.speechActionClick = function(d) {
        if (b.plus) {
            var e = this,
            f = e.element.value;
            e.element.value = "",
            c.body.classList.add(m),
            plus.speech.startRecognize({
                engine: "iFly"
            },
            function(b) {
                e.element.value += b,
                a.focus(e.element),
                plus.speech.stopRecognize(),
                a.trigger(e.element, "recognized", {
                    value: e.element.value
                }),
                f !== e.element.value && (a.trigger(e.element, "change"), a.trigger(e.element, "input"))
            },
            function(a) {
                c.body.classList.remove(m)
            })
        } else alert("only for 5+");
        d.preventDefault()
    },
    a.fn.input = function(b) {
        var c = [];
        return this.each(function() {
            var b = null,
            d = [],
            e = s(this.parentNode);
            if ("range" === this.type && e.classList.contains("mui-input-range")) d.push("slider");
            else {
                var f = this.classList;
                f.contains("mui-input-clear") && d.push("clear"),
                a.os.android && a.os.stream || !f.contains("mui-input-speech") || d.push("speech"),
                f.contains("mui-input-password") && d.push("password"),
                "search" === this.type && e.classList.contains("mui-search") && d.push("search")
            }
            var g = this.getAttribute("data-input-" + d[0]);
            if (g) b = a.data[g];
            else {
                g = ++a.uuid,
                b = a.data[g] = new t(this, {
                    actions: d.join(",")
                });
                for (var h = 0,
                i = d.length; i > h; h++) this.setAttribute("data-input-" + d[h], g)
            }
            c.push(b)
        }),
        1 === c.length ? c[0] : c
    },
    a.ready(function() {
        a(".mui-input-row input").input()
    })
} (mui, window, document),
function(a, b) {
    var c = /^rgba\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/,
    d = function(a) {
        var b = a.match(c);
        return b && 5 === b.length ? [b[1], b[2], b[3], b[4]] : []
    },
    e = function(b, c) {
        this.element = b,
        this.options = a.extend({
            top: 0,
            offset: 150,
            duration: 16
        },
        c || {}),
        this._style = this.element.style,
        this._bgColor = this._style.backgroundColor;
        var e = d(mui.getStyles(this.element, "backgroundColor"));
        if (!e.length) throw new Error("元素背景颜色必须为RGBA");
        this._R = e[0],
        this._G = e[1],
        this._B = e[2],
        this._A = e[3],
        this._bufferFn = a.buffer(this.handleScroll, this.options.duration, this),
        this.initEvent()
    };
    e.prototype.initEvent = function() {
        b.addEventListener("scroll", this._bufferFn),
        b.addEventListener(a.EVENT_MOVE, this._bufferFn)
    },
    e.prototype.handleScroll = function() {
        this._style.backgroundColor = "rgba(" + this._R + "," + this._G + "," + this._B + "," + (b.scrollY - this.options.top) / this.options.offset + ")"
    },
    e.prototype.destory = function() {
        b.removeEventListener("scroll", this._bufferFn),
        b.removeEventListener(a.EVENT_MOVE, this._bufferFn),
        this.element.style.backgroundColor = this._bgColor,
        this.element.mui_plugin_transparent = null
    },
    a.fn.transparent = function(a) {
        a = a || {};
        var b = [];
        return this.each(function() {
            var c = this.mui_plugin_transparent;
            if (!c) {
                var d = this.getAttribute("data-top"),
                f = this.getAttribute("data-offset"),
                g = this.getAttribute("data-duration");
                null !== d && "undefined" == typeof a.top && (a.top = d),
                null !== f && "undefined" == typeof a.offset && (a.offset = f),
                null !== g && "undefined" == typeof a.duration && (a.duration = g),
                c = this.mui_plugin_transparent = new e(this, a)
            }
            b.push(c)
        }),
        1 === b.length ? b[0] : b
    },
    a.ready(function() {
        a(".mui-bar-transparent").transparent()
    })
} (mui, window),
function(a) {
    var b = "ontouchstart" in document,
    c = b ? "tap": "click",
    d = "change",
    e = "mui-numbox",
    f = ".mui-btn-numbox-plus,.mui-numbox-btn-plus",
    g = ".mui-btn-numbox-minus,.mui-numbox-btn-minus",
    h = ".mui-input-numbox,.mui-numbox-input",
    i = a.Numbox = a.Class.extend({
        init: function(b, c) {
            var d = this;
            if (!b) throw "构造 numbox 时缺少容器元素";
            d.holder = b,
            c = c || {},
            c.step = parseInt(c.step || 1),
            d.options = c,
            d.input = a.qsa(h, d.holder)[0],
            d.plus = a.qsa(f, d.holder)[0],
            d.minus = a.qsa(g, d.holder)[0],
            d.checkValue(),
            d.initEvent()
        },
        initEvent: function() {
            var b = this;
            b.plus.addEventListener(c,
            function(c) {
                var e = parseInt(b.input.value) + b.options.step;
                b.input.value = e.toString(),
                a.trigger(b.input, d, null)
            }),
            b.minus.addEventListener(c,
            function(c) {
                var e = parseInt(b.input.value) - b.options.step;
                b.input.value = e.toString(),
                a.trigger(b.input, d, null)
            }),
            b.input.addEventListener(d,
            function(c) {
                b.checkValue();
                var e = parseInt(b.input.value);
                a.trigger(b.holder, d, {
                    value: e
                })
            })
        },
        getValue: function() {
            var a = this;
            return parseInt(a.input.value)
        },
        checkValue: function() {
            var a = this,
            b = a.input.value;
            if (null == b || "" == b || isNaN(b)) a.input.value = a.options.min || 0,
            a.minus.disabled = null != a.options.min;
            else {
                var b = parseInt(b);
                null != a.options.max && !isNaN(a.options.max) && b >= parseInt(a.options.max) ? (b = a.options.max, a.plus.disabled = !0) : a.plus.disabled = !1,
                null != a.options.min && !isNaN(a.options.min) && b <= parseInt(a.options.min) ? (b = a.options.min, a.minus.disabled = !0) : a.minus.disabled = !1,
                a.input.value = b
            }
        },
        setOption: function(a, b) {
            var c = this;
            c.options[a] = b
        },
        setValue: function(a) {
            this.input.value = a,
            this.checkValue()
        }
    });
    a.fn.numbox = function(a) {
        return this.each(function(a, b) {
            if (!b.numbox) if (d) b.numbox = new i(b, d);
            else {
                var c = b.getAttribute("data-numbox-options"),
                d = c ? JSON.parse(c) : {};
                d.step = b.getAttribute("data-numbox-step") || d.step,
                d.min = b.getAttribute("data-numbox-min") || d.min,
                d.max = b.getAttribute("data-numbox-max") || d.max,
                b.numbox = new i(b, d)
            }
        }),
        this[0] ? this[0].numbox: null
    },
    a.ready(function() {
        a("." + e).numbox()
    })
} (mui),
function(a, b, c) {
    var d = "mui-disabled",
    e = "reset",
    f = "loading",
    g = {
        loadingText: "Loading...",
        loadingIcon: "mui-spinner mui-spinner-white",
        loadingIconPosition: "left"
    },
    h = function(b, c) {
        this.element = b,
        this.options = a.extend({},
        g, c),
        this.options.loadingText || (this.options.loadingText = g.loadingText),
        null === this.options.loadingIcon && (this.options.loadingIcon = "mui-spinner", "rgb(255, 255, 255)" === a.getStyles(this.element, "color") && (this.options.loadingIcon += " mui-spinner-white")),
        this.isInput = "INPUT" === this.element.tagName,
        this.resetHTML = this.isInput ? this.element.value: this.element.innerHTML,
        this.state = ""
    };
    h.prototype.loading = function() {
        this.setState(f)
    },
    h.prototype.reset = function() {
        this.setState(e)
    },
    h.prototype.setState = function(a) {
        if (this.state === a) return ! 1;
        if (this.state = a, a === e) this.element.disabled = !1,
        this.element.classList.remove(d),
        this.setHtml(this.resetHTML);
        else if (a === f) {
            this.element.disabled = !0,
            this.element.classList.add(d);
            var b = this.isInput ? this.options.loadingText: "<span>" + this.options.loadingText + "</span>";
            this.options.loadingIcon && !this.isInput && ("right" === this.options.loadingIconPosition ? b += '&nbsp;<span class="' + this.options.loadingIcon + '"></span>': b = '<span class="' + this.options.loadingIcon + '"></span>&nbsp;' + b),
            this.setHtml(b)
        }
    },
    h.prototype.setHtml = function(a) {
        this.isInput ? this.element.value = a: this.element.innerHTML = a
    },
    a.fn.button = function(a) {
        var b = [];
        return this.each(function() {
            var c = this.mui_plugin_button;
            if (!c) {
                var d = this.getAttribute("data-loading-text"),
                g = this.getAttribute("data-loading-icon"),
                i = this.getAttribute("data-loading-icon-position");
                this.mui_plugin_button = c = new h(this, {
                    loadingText: d,
                    loadingIcon: g,
                    loadingIconPosition: i
                })
            } (a === f || a === e) && c.setState(a),
            b.push(c)
        }),
        1 === b.length ? b[0] : b
    }
} (mui, window, document);